为了创建一个共同的起点,我重新安装了我的 VPS(Ubuntu 22.04),运行了 apt update 和 apt upgrade,然后开始了标准的 Discourse 安装过程。
如果这些信息很重要,我在第一次运行 ./discourse-setup 时输入信息时犯了一个错误,因此按下了 control-C,然后重新运行了 ./discourse-setup。第二次运行 ./discourse-setup 会拉取一个新的 discourse/base,如下所示……
root@discourse:/var/discourse# ./discourse-setup
配置文件 containers/app.yml 已存在!
. . . 重新配置 . . .
将旧文件另存为 app.yml.2024-07-29-151604.bak
5 秒后停止现有容器,或按 Control-C 取消。
检测到 x86_64 架构。
警告:我们将开始下载 Discourse 基础镜像
此过程可能需要几分钟到一小时,具体取决于您的网络速度
请耐心等待
2.0.20240708-0023:正在从 discourse/base 拉取
76956b537f14:拉取完成
c5ffad89ad3c:拉取完成
71c31a50a587:拉取完成
c1a1234dcb61:拉取完成
9980a27afc32:拉取完成
4f4fb700ef54:拉取完成
304b565c70c9:拉取完成
8ad811162d08:拉取完成
2c324dce526d:拉取完成
52d141c2b1c8:拉取完成
4c08fdcd145a:拉取完成
1b6035ac25c0:拉取完成
9208d0f90623:拉取完成
513dccf6f63f:拉取完成
e0b141854963:拉取完成
4476d7dd9441:拉取完成
0fad77941078:拉取完成
46c34476ea19:拉取完成
ff0b86516349:拉取完成
c33170d09c8b:拉取完成
ed4a793ffe51:拉取完成
3a7b2554e089:拉取完成
3ad8a6408839:拉取完成
e7c58bcc7f57:拉取完成
59b2407fe431:拉取完成
315160f4d4f8:拉取完成
ad328ba96976:拉取完成
825dca2e642e:拉取完成
9fbd8c908047:拉取完成
b1d30330e969:拉取完成
8c76c65bb8e8:拉取完成
9279965667b5:拉取完成
a0ae3eb4d088:拉取完成
819fb509ef8b:拉取完成
c962935d47d4:拉取完成
63b444b5bd1e:拉取完成
7efa1c09faf6:拉取完成
46c4327ce462:拉取完成
b095ebe7bdf6:拉取完成
3aa16a533cab:拉取完成
41419e4f1948:拉取完成
589837814d9a:拉取完成
bd025ad1b844:拉取完成
24762ff7528f:拉取完成
fe364253c657:拉取完成
摘要:sha256:025e9c1f6848c4726544c6ae873d710c62f547b72afb7f537aaa44eb5377cb5c
状态:已下载 discourse/base 的更新镜像:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
应用程序未启动!
./discourse-doctor 可能会帮助诊断问题。
发现 3GB 内存和 2 个物理 CPU 核心
设置 db_shared_buffers = 768MB
设置 UNICORN_WORKERS = 4
containers/app.yml 内存参数已更新。
Discourse 安装继续并成功完成。我能够创建初始帐户并登录。
I, [2024-07-29T15:42:21.624379 #1] INFO -- : 替换位置 @discourse { 为 @discourse {
add_header Strict-Transport-Security 'max-age=31536000'; # 在 /etc/nginx/conf.d/discourse.conf 中记住证书一年并自动连接到此域的 HTTPS
I, [2024-07-29T15:42:21.627858 #1] INFO -- : > echo "开始自定义命令"
I, [2024-07-29T15:42:21.634022 #1] INFO -- : 开始自定义命令
I, [2024-07-29T15:42:21.637436 #1] INFO -- : > echo "结束自定义命令"
I, [2024-07-29T15:42:21.642766 #1] INFO -- : 结束自定义命令
I, [2024-07-29T15:42:21.648034 #1] INFO -- : 终止异步进程
I, [2024-07-29T15:42:21.649479 #1] INFO -- : 发送 INT 到 HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 57
2024-07-29 15:42:21.651 UTC [57] LOG: 收到快速关机请求
I, [2024-07-29T15:42:21.652067 #1] INFO -- : 发送 TERM 到 exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 120
120:signal-handler (1722267741) 收到 SIGTERM,正在安排关机...
2024-07-29 15:42:21.658 UTC [57] LOG: 中止任何活动事务
120:M 29 Jul 2024 15:42:21.667 # 用户请求关机...
120:M 29 Jul 2024 15:42:21.668 * 在退出前保存最终 RDB 快照。
2024-07-29 15:42:21.682 UTC [57] LOG: 后台工作进程“逻辑复制启动器”(PID 72)已退出,退出代码为 1
120:M 29 Jul 2024 15:42:21.682 * DB 已保存在磁盘上
120:M 29 Jul 2024 15:42:21.683 # Redis 现已准备好退出,再见...
2024-07-29 15:42:21.685 UTC [67] LOG: 正在关闭
2024-07-29 15:42:21.806 UTC [57] LOG: 数据库系统已关闭
sha256:6a6d6a8ea3559ad031a84fd48a164686e9440d7e857cb39619c2baba84a4b966
2b8eddd7b72415507d10cc404c40459c19c7ad3e025cb7bb69bcddb3c98b0197
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_FORCE_HTTPS=true -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=discourse3.greenbullfrog.com -e DISCOURSE_DEVELOPER_EMAILS=discourse-admin@greenbullfrog.com -e DISCOURSE_SMTP_ADDRESS=box.greenbullfrog.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=discourse@greenbullfrog.com -e DISCOURSE_SMTP_PASSWORD=lAtDyjbyqztzhrG -e DISCOURSE_SMTP_DOMAIN=discourse3.greenbullfrog.com -e DISCOURSE_NOTIFICATION_EMAIL=noreply@discourse3.greenbullfrog.com -e LETSENCRYPT_ACCOUNT_EMAIL=letsencrypt@greenbullfrog.com -h discourse-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:f9:8c:dd:3d:63 local_discourse/app /sbin/boot
a78541042858ed6a4dd739bb7c8243a50a4064f595fdf968c22c8b63afb68979
root@discourse:/var/discourse#
接下来,我开始执行 Migrate a phpBB3 forum to Discourse 中描述的流程。
这是我的 import.yml 文件的开头……
root@discourse:/var/discourse# head -23 containers/import.yml
## 这是全合一的独立 Discourse Docker 容器模板
##
## 修改此文件后,您必须重建
## /var/discourse/launcher rebuild app
##
## 请务必极其小心地编辑!
## YAML 文件对空格或对齐错误非常非常敏感!
## 如有需要,请访问 http://www.yamllint.com/ 进行验证
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## 取消注释下一行以启用 IPv6 监听器
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## 如果您想添加 Let's Encrypt (https),请取消注释这两行
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
- "templates/import/phpbb3.template.yml"
## 此容器应暴露哪些 TCP/IP 端口?
## 如果您希望 Discourse 与 Apache 或 nginx 等其他 Web 服务器共享端口,
root@discourse:/var/discourse#
问题发生在运行 /var/discourse/launcher rebuild import 命令时。由于长度限制,无法在此处发布该命令的日志。但是,您可以从这个 NextCloud 链接下载: