在新“本地”虚拟机上恢复备份文件后 - 站点无法运行

你好,

我从云实例中恢复了一个备份文件。将其恢复到我的 Debian 服务器后,页面的 URL 和标题可以正常显示,但登录页面却是空白的。

  • “安全模式”无法生效。
  • 已清理浏览器缓存。
  • 我已重新构建应用,但问题依旧。

您是否有任何建议,看看还能做些什么?

根据浏览器控制台,已报告以下错误:

我也检查了生产日志,发现与 REDIS 服务器的连接似乎无法建立。

我已删除容器,重启了虚拟机,并重新安装了 Discourse。但随后收到了以下错误:

Docker: driver failed programming external connectivity on endpoint app …

感谢您的建议。

I.

您可能在 80 端口上有服务正在监听(例如 nginx)?

我已停止 nginx 并重新构建了应用。

根据生产日志,REDIS 无法工作:

您有什么建议吗?我已经尝试过重启、重新构建、销毁容器并重新拉取镜像等操作,但都没有效果……

:thinking: sudo systemctl status redis

未找到 Redis …

image

如何正确在 Discourse 容器中启动 Redis?

如果我尝试启动它,却无法成功:

image

此致

I.

我最初曾借助教程成功安装过。但在从 Discourse 托管商恢复备份后,页面只显示为空白。自那以后,我就无法再安装它了……

可能是我的多次重启或重建操作导致虚拟机本身崩溃了。

你是怎么做的?
再次运行 ./discourse-setup 吗?

Debian 10.5(Buster)

我当然已经做过很多次了。

我认为问题在于 Redis 已无法正常工作,而我不知如何启动它。
我已经拉取了 Discourse 容器,但并未奏效。

我想:
销毁容器,
删除目录,
从 Git 重新拉取容器,
然后从头开始重新配置……

如您所见,我已将其简化到极致:

确实,我以为 discourse-setup 会自动处理 Redis 的安装 :thinking: 不过,你可以尝试手动安装,并参考以下操作:discourse_docker/image/base/install-redis at main · discourse/discourse_docker · GitHub

你的截图下方显示了什么?
运行 ./discourse-setup 后是否出现任何错误?

安装的最终结果是:

我将尝试手动安装 Redis…

看来 Redis 在这里没问题:思考

image

Discourse 现在应该可以工作了!(实际上不行)

Docker 看起来没问题:

根据 “.launcher logs app” 的输出,问题应该出在证书上……:

抱歉,我在 systemctl 检查上犯了个错误。主机上确实安装了 Redis,但用于其他目的;您要找的 Redis 是安装在容器中的。

好的,一个方案是获取一台新的 Ubuntu 虚拟机(不过对我们研究所来说,成本相当高)。
我认为目前这是最佳方案,对吧?

这可能来自你的 app.yml,你那里的内容是什么?

## 如果你希望添加 Lets Encrypt (https),请取消这两行的注释
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

你可能也触发了 Lets Encrypt 的续订限制……

不,我在这里是“root”。这是内部虚拟机,目前没有公开访问权限。

谢谢,这正是解决方案…… :slight_smile:

现在我可以访问 GUI 了。我很好奇,如果备份恢复导致系统再次崩溃该怎么办。

从另一台服务器成功恢复前,需要做哪些准备工作?