502 错误网关

您好,我已经成功搭建了 Discourse(已运行),但经常遇到“502 Bad Gateway”错误,且网站速度非常慢。请问如何最好地解决这个问题?:s

您使用的是机械硬盘还是内存非常小?

我的 Discourse 部署在 VPS 上

以下是 VPS 数据

CPU 核心数 1
总 CPU 速度 2.4GHz
内存 1GB
磁盘空间 20GB

我有时仍然会遇到 502 错误网关的问题。:frowning: 有什么办法可以解决吗?

通用 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”,还有其他方法可以解决这个问题吗?:confused:

:roll_eyes: 不,没有其他方法可以解决这个问题。你需要使用 swap。

与 VPS 提供商沟通以升级您的 RAM 容量。拥有足够的 RAM 时,您无需使用交换空间。

您可以考虑使用像 monit 这样的服务监控工具,在进程崩溃时自动重启您的容器。但随着活跃用户数量的增加,问题会愈发严重,并且长期来看存在损坏数据库的风险。

好的,谢谢你的回答,我现在明白了。

如果你完全不想使用交换空间,那么你至少需要 4GB 内存,否则升级将会彻底失败——这可能意味着你将不得不花费目前预算的四倍。