Discourse 无法连接到端口 3000

从 2.4.2 升级到 2.6.x 后,Discourse 无法正常运行。

问题是 Discourse 尝试连接到 127.0.0.1 的 3000 端口。

我已多次使用 ./launcher rebuild web_only 重建 web_only 容器。

问题如下:

  1. 127.0.0.1:3000 上应该运行什么服务?
  2. 如何重启该服务?

谢谢!

据我所知,那是运行在 3000 端口的 Ruby 安装。

也许可以执行完整重启。

rebootsudo reboot

附言:请告诉我你在升级前已经做了备份。

是的,自动备份。数据容器已正常运行。

这在一台生产服务器上。其他服务也运行在该服务器上。

您需要重建数据容器,然后重建 web_only。有关提示,请参阅 https://meta.discourse.org/t/postgresql-12-update/151236。

我已多次运行 ./launcher rebuild data 命令(超过 5 次),未出现任何错误信息。

幸好这个问题出现在我们的服务器上,而不是客户的服务器上 :slight_smile:

看起来升级到 PostgreSQL 12 似乎失败了。

Pups::ExecError: /root/upgrade_postgres 执行失败,返回状态为 #<Process::Status: pid 47 exit 1>
失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'
执行失败,参数为 "/root/upgrade_postgres"
5a74b447cdef6a2db5ea79c2ae1e31f71d1d476179a3f61ea61fc21bf8382229
** 引导失败 ** 请向上滚动并查找更早的错误信息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

在这种情况下,Discourse 数据库的所有表不知为何都被删除了。
我决定回滚到 2.4 版本并恢复 Discourse 数据库。