Redis 问题?(升级后论坛损坏)

重建时,结尾会出现 [FAILED] 消息吗?

能否展示一下此失败警报之前的(尽可能多的)行?

我们能从中找到一些线索。

2 个赞

我不认为最后有 FAILED 消息。我将运行另一个构建。谢谢!

1 个赞

如果重建成功完成,我猜是插件或主题组件出了问题。

检查浏览器控制台(F12)是否出现红色警报。

您也可以尝试访问 [your-forum]/safe-mode 在不加载插件和主题的情况下加载您的论坛。

1 个赞

是的,没有失败。构建似乎正常结束,然后 docker run 也似乎正常。

1 个赞

控制台中没有明显的问题。尝试运行安全模式,但 Chrome 提示“无法访问该网站”错误。但我可以正常访问主页和静态消息。

1 个赞

这是当前生产日志的尾部:

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `block in synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/2.7.0/monitor.rb:202:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:72:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.5.1/lib/redis.rb:966:in `get'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:366:in `process_global_backlog'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:274:in `block in global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus/backends/redis.rb:287:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:786:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.8/lib/message_bus.rb:734:in `block in new_subscriber_thread'
1 个赞

您能分享您的插件列表吗?或者在私信中分享您的论坛网址,以便我查看?

您的 [your_forum]/logs 中有有用的信息吗?[your_forum]/sidekiq 中有错误列表吗?

我们没有足够的信息来帮助您找到问题。

1 个赞

首先,这是(非常简短的)插件列表。这些是 app.yml 中列出的所有插件:

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-push-notifications.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
1 个赞

我认为“Who’s Online”插件已于九月被替换为官方插件。您可以尝试使用更新的存储库,看看是否有帮助?

https://github.com/discourse/discourse-whos-online

3 个赞

关于此事的更新。感谢大家的建议。核心问题(除一个外)似乎已得到解决(还有待进一步测试)。唯一明显遗留的问题是 SSL 证书不再续订,甚至此处推荐的手动续订过程也无效。看起来 Let’s Encrypt 无法从“well known”目录访问此处的验证文件。这之前已经正常工作了近 3 年。因此,这仍然是一个问题,尤其是因为 HSTS 在这种情况下会完全阻止 Chrome。

1 个赞

看起来一团糟。

你可以尝试运行 discourse-doctor 来看看是否能提供任何线索。我有一些想法,但如果没有服务器访问权限,以我目前的水平,需要花费太多时间才能帮助你。

如果是我,我可能会重新安装所有东西。

1 备份

cd /var/discourse
./launcher enter app
discourse backup

通过 sftp(sftp 协议,端口 22,主机:你的服务器 IP,登录:root,密码:root 密码)检索备份。

确保备份中包含 uploads 文件夹。如果没有,请在你的硬盘上本地复制该文件夹。

2 删除,重新安装你的 vps,或使用另一个 vps

使用 discourse setup install,如果一切正常:登录,上传并恢复备份。

(你也可以从命令行恢复备份,这样更快:https://meta.discourse.org/t/restore-a-backup-from-command-line/108034)

如果你对此不确定,最好等待更专业的人来帮助你 :raised_hands:

1 个赞

谢谢。我不认为我会走那条路来解决 SSL 问题。鉴于其他问题似乎已得到解决,肯定有一个更直接的解决方案。但再次感谢。

2 个赞

在 /var/discourse/shared/standalone/ssl 中似乎有我上次尝试写入的新密钥和证书。但日志清楚地显示了验证错误,并且该站点实际上并未在使用它们。另外——也许这只是表面现象——日志在这种情况下没有显示正确的路径。例如,它显示将密钥安装到:

/shared/ssl/[site]_ecc.key

但实际路径是 /shared/standalone/ssl

至少看起来很奇怪。

典型的错误是:
[site]:验证错误:获取 http://[site]/.well-known/acme-challenge/[challenge string]: 获取验证数据错误

我应该指出,该站点要求所有用户访问都需要登录,但这在(多年运营期间)SSL 证书续订中一直不是问题。

1 个赞

由于其他问题已得到解决,我将把 SSL 问题移至单独的线程。谢谢大家!

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.