我遇到了与上面主题完全相同的问题,是在一个 2GB 内存的实例上。
在错误发生前,我拍了一张 htop 快照 - 注意 swap 没有被使用。
您需要 2gb 的交换空间。如果您运行 discourse-setup,它就会创建它。
应该说明这已经运行了四年多,我每两到三个月重建一次。
是的,交换至关重要。
没有它,事情就会失败。
所以基本上是再次运行 discourse-setup 而不是常规重建?
如果您运行 discourse-setup 来启动,那么可能是您的系统存在某些问题,导致它无法创建交换空间。您可能需要自己创建交换空间。搜索类似“创建交换空间 YOUR-LINUX-DISTRIBUTION”的内容。
谢谢 Jay 和 Robert。确实缺少了 swap。
解决方案是:
cd /var/discourse
chmod 700 containers # 可能是多余的,但无害
./discourse-setup
设置将重新创建 swap 并退出。
警告:当使用 2GB RAM 或更少内存运行时,Discourse 需要至少 2GB 的 swap。此系统似乎没有足够的 swap 空间。
没有足够的 swap 空间,您的站点可能无法正常工作,并且 Discourse 的未来升级可能无法成功完成。
按 Ctrl+C 退出或等待 5 秒钟创建一个 2GB 的 swapfile。
正在设置 swapspace 版本 1,大小 = 2 GiB (2147479552 字节)
无标签,UUID=e0321b22-.....
/swapfile swap swap auto 0 0
vm.swappiness = 10
containers/app.yml 配置文件已存在!
. . . 重新配置 . . .
将旧文件另存为 app.yml.2023-10-03-153852.bak
5 秒后停止现有容器或按 Control-C 取消。
然后只需进行常规重建。
您最初安装时没有运行 discouse-setup 吗?
不,几年前我使用 discourse-setup 来安装这个实例。我不确定为什么 swap 被杀掉了,我之前在服务器上安装了其他东西,现在已经卸载了,这可能做了一些我不知道的事情。也许这个应用程序与 swap 交互过,这不是我的专业领域,但实例已经重新启动并运行了。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.