你好,
我从云实例中恢复了一个备份文件。将其恢复到我的 Debian 服务器后,页面的 URL 和标题可以正常显示,但登录页面却是空白的。
- “安全模式”无法生效。
- 已清理浏览器缓存。
- 我已重新构建应用,但问题依旧。
您是否有任何建议,看看还能做些什么?
根据浏览器控制台,已报告以下错误:
我也检查了生产日志,发现与 REDIS 服务器的连接似乎无法建立。
我已删除容器,重启了虚拟机,并重新安装了 Discourse。但随后收到了以下错误:
Docker: driver failed programming external connectivity on endpoint app …
感谢您的建议。
I.
Benjamin_D
(Benjamin Decotte)
2
您可能在 80 端口上有服务正在监听(例如 nginx)?
我已停止 nginx 并重新构建了应用。
根据生产日志,REDIS 无法工作:
您有什么建议吗?我已经尝试过重启、重新构建、销毁容器并重新拉取镜像等操作,但都没有效果……
Benjamin_D
(Benjamin Decotte)
4
sudo systemctl status redis?
未找到 Redis …

如何正确在 Discourse 容器中启动 Redis?
如果我尝试启动它,却无法成功:

此致
I.
我最初曾借助教程成功安装过。但在从 Discourse 托管商恢复备份后,页面只显示为空白。自那以后,我就无法再安装它了……
可能是我的多次重启或重建操作导致虚拟机本身崩溃了。
Benjamin_D
(Benjamin Decotte)
9
你是怎么做的?
再次运行 ./discourse-setup 吗?
我认为问题在于 Redis 已无法正常工作,而我不知如何启动它。
我已经拉取了 Discourse 容器,但并未奏效。
我想:
销毁容器,
删除目录,
从 Git 重新拉取容器,
然后从头开始重新配置……
Benjamin_D
(Benjamin Decotte)
15
确实,我以为 discourse-setup 会自动处理 Redis 的安装
不过,你可以尝试手动安装,并参考以下操作:discourse_docker/image/base/install-redis at main · discourse/discourse_docker · GitHub
你的截图下方显示了什么?
运行 ./discourse-setup 后是否出现任何错误?

Discourse 现在应该可以工作了!(实际上不行)
Docker 看起来没问题:
根据 “.launcher logs app” 的输出,问题应该出在证书上……:
Benjamin_D
(Benjamin Decotte)
19
抱歉,我在 systemctl 检查上犯了个错误。主机上确实安装了 Redis,但用于其他目的;您要找的 Redis 是安装在容器中的。
好的,一个方案是获取一台新的 Ubuntu 虚拟机(不过对我们研究所来说,成本相当高)。
我认为目前这是最佳方案,对吧?
Benjamin_D
(Benjamin Decotte)
22
这可能来自你的 app.yml,你那里的内容是什么?
## 如果你希望添加 Lets Encrypt (https),请取消这两行的注释
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
你可能也触发了 Lets Encrypt 的续订限制……
不,我在这里是“root”。这是内部虚拟机,目前没有公开访问权限。
谢谢,这正是解决方案…… 
现在我可以访问 GUI 了。我很好奇,如果备份恢复导致系统再次崩溃该怎么办。
从另一台服务器成功恢复前,需要做哪些准备工作?