引导失败(退出代码 137)

您好,我搜索了论坛,发现类似问题中错误 137 与内存不足导致被终止有关。我尝试了一些其他人提出的解决方案,但仍然无法使其正常工作,更新失败导致我的 discourse 在尝试通过 Web 管理界面更新到新版本后的几天内一直无法访问。

我看到有人在另一篇文章中建议我可能需要一个交换文件,但我已经有一个了,它是在几个月前我最初创建论坛时自动生成的。

free 命令的输出如下:

              total        used        free      shared  buff/cache   available
Mem:        2097152      124012     1964748           0        8392     1973140
Swap:       2097148           0     2097148

构建日志:Log for discourse - Pastebin.com

在监控 RAM 使用情况时,似乎只使用了服务器 2GB RAM 中的不到 1GB,所以我不知道为什么它会终止进程,因为它还有 1GB 可以使用。

希望我能得到一些帮助,谢谢!:grinning:

您尝试过命令行重建吗?

./launcher rebuild app

确实,抱歉忘了提,正如 ./admin/upgrade 页面建议的那样,我一直在尝试这样做,而 pastebin 日志就是我所做的。最初我是在更新到一个新版本,然后它完全出错了,Web UI 中出现错误,论坛也宕机了。

另外,我尝试运行了 ./discourse-doctor,它也显示版本为“未找到”,但在“building…”阶段出现了相同的错误。

哦,抱歉。

我认为您只需要添加更多交换空间。

您应该能够使用以下命令启动旧容器:

./launcher start app

但如果数据库已迁移,则旧容器可能无法正常工作。

是的,我认为它已被迁移,因为论坛仍然无法访问。我现在正在删除我的旧交换区,并将按照文档创建一个新的,我会告诉你进展如何。

1 个赞

嘿,我最终升级到了 8GB 内存并完全重新安装了 Ubuntu,这解决了构建问题,但不知何故我仍然无法访问论坛,出现“无法访问页面”的错误。

.admin/upgrade 显示消息“您正在运行旧版本的 Discourse 镜像”,尽管当我运行 git pull 时我正在运行最新版本。所以我完全不明白这可能是怎么回事。有什么想法吗?

我无法想象那些事情怎么会都是真的。我无法理解。

如果你访问网站时遇到错误,你是如何看到升级页面的?

而且,如果你构建了一个新镜像,那么你就不能有一个旧镜像。但是仅仅执行 git pull 是不够的,你需要构建并启动一个新镜像。听起来你还在运行旧的镜像。

2 个赞

嘿,我最终解决了。原来“无法访问页面”的问题是由于 Let’s Encrypt 每周 5 次的重新认证限制,所以这是我的错,我看到的页面只是缓存的。

最后我重新安装了论坛,幸运的是我有一个相当近的备份,所以我通过命令恢复了它,然后重新安装了我以前的插件。我还将我的服务器升级到了 8GB RAM,因为我可能会用它做其他事情,现在论坛一切正常,不再有 137 退出代码。现在运行得很棒。

感谢所有关于这个话题的帮助!:slight_smile:

1 个赞

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