您好,我已经成功搭建了 Discourse(已运行),但经常遇到“502 Bad Gateway”错误,且网站速度非常慢。请问如何最好地解决这个问题?:s
您使用的是机械硬盘还是内存非常小?
我的 Discourse 部署在 VPS 上
以下是 VPS 数据
| CPU 核心数 | 1 |
|---|---|
| 总 CPU 速度 | 2.4GHz |
| 内存 | 1GB |
| 磁盘空间 | 20GB |
通用 Unix 服务器性能指南可协助诊断,但当前负载下您的内存可能不足。
你让 discourse-setup 创建交换空间了吗?
你安装了插件吗?
不,问题就出在这里:我的 VPS 提供商不允许我执行命令 “swapon /swapfile”,但不知何故我还是在没有它的情况下安装了 Docker。随后,我使用 “nano containers/app.yml” 编辑了包含所有数据的文件,然后运行了 “./launcher start app”……是的,我还安装了一些插件。
所以 discourse-setup 警告你内存不足,而你很聪明地绕过了该警告。文档指出,如果你的内存少于 2GB,就需要配置交换空间(swap)。即使有 2GB 内存,如果没有交换空间,在执行升级重建时很可能也会遇到问题。
不知道,我的 VPS 只有 1 GB 内存(正如我在之前的帖子中提到的)。所以我需要修复 swap 和 Docker 对吗?
有什么有用的命令可以使用吗?(非常感激任何帮助)谢谢
这让我想起了这个主题:
因此,你的 VPS 可能不支持完全虚拟化,更换托管提供商或许更容易,从而避免未来可能遇到的问题。
联系他们并解决这个问题。
不过,许多 VPS 提供商根本不想让你这样做,因为这会过快损耗他们的 SSD 硬盘。
好的,第二个方案呢?我无法更换 VPS 提供商,也无法执行 “swapon /swapfile”,还有其他方法可以解决这个问题吗?![]()
不,没有其他方法可以解决这个问题。你需要使用 swap。
与 VPS 提供商沟通以升级您的 RAM 容量。拥有足够的 RAM 时,您无需使用交换空间。
您可以考虑使用像 monit 这样的服务监控工具,在进程崩溃时自动重启您的容器。但随着活跃用户数量的增加,问题会愈发严重,并且长期来看存在损坏数据库的风险。
好的,谢谢你的回答,我现在明白了。
如果你完全不想使用交换空间,那么你至少需要 4GB 内存,否则升级将会彻底失败——这可能意味着你将不得不花费目前预算的四倍。

