升级失败 - 论坛宕机,错误信息无帮助

升级 Discourse 时收到了以下信息:

哎呀

支撑此讨论论坛的软件遇到了意外问题。对于由此带来的不便,我们深表歉意。

有关该错误的详细信息已被记录,并生成了自动通知。我们将对此进行查看。

无需采取进一步操作。但是,如果错误情况持续存在,您可以通过在网站的反馈类别中发布讨论主题来提供详细信息,包括重现错误的步骤。

生成了什么通知?我没有收到任何电子邮件。

建议发布讨论主题的建议没有意义——论坛已经宕机了。

列出错误信息被记录在何处会很有用。

我无法判断是什么出了问题,所以我重启了服务器。现在我收到 502 Bad Gateway 错误。

如果您移除所有第三方插件并重新构建,错误应该会消失。网站上线后,请前往 /logs 查看是哪个插件导致了该问题。

您也可以尝试安全模式——在您的站点 URL 后添加 /safe-mode 即可访问。日志文件位于 /logs。您还可以在命令行中运行 Announcing Discourse Doctor 来排查问题。有时,只需在命令行中再次重新构建,站点即可恢复正常运行。

您看到的这条消息故意表述得较为模糊,以免引起社区成员的恐慌或造成困惑。您来这里寻求故障排查指导是非常正确的做法——很快您就会掌握这些步骤,并知道如何解决问题。

祝您好运,享受其中!:sparkles:

我得查一下如何移除插件。我平时很少管理这个论坛(多亏了 Discourse 的稳定性)。

在此期间,我尝试运行 ./launcher rebuild app,但报出了磁盘空间不足的错误。按照提示执行清理后(现在剩余 14GB 空间),又出现了以下错误:

Pups::ExecError: cd /var/www/discourse && su discourse -c ‘bundle exec rake db:migrate’ 失败,返回状态为 #<Process::Status: pid 430 exit 1> \nLocation of failure: /pups/lib/pups/exec_command.rb:112:in `spawn’ \n>
exec 失败,参数为 {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]}
aa028fe633a223429da4368d3e6339a75329cdb0465361804372bc54b4fc8f35

** 启动失败 ** 请向上滚动查看之前的错误信息,可能不止一条。
./discourse-doctor 可能有助于诊断问题。

完整日志|附件 (66.2 KB)

/var/www/discourse/plugins/discourse-tagging/plugin.rb:13:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:430:in `block in notify_after_initialize'

请务必尽快移除 discourse-tagging 插件。该插件大约在 3-4 年前已被弃用,当时我们已将相关功能迁移至核心代码中。

./discours-doctor 似乎存在语法错误:

正在替换:SMTP_PASSWORD
正在替换:LETSENCRYPT_ACCOUNT_EMAIL
正在替换:DEVELOPER_EMAILS
正在替换:DISCOURSE_DB_PASSWORD
正在替换:发送邮件至

==================== 完成!====================
是否要提供此文件的公开版本?(Y/n)
./discourse-doctor: 第 320 行:[: ==: 期望一元运算符
未生成公开可用的日志。

你可以使用以下命令查看此脚本的输出:
LESS=-Ri less /tmp/discourse-debug.txt

问题果然出在这里,感谢 @sam 的迅速回复。