Nginx 504 网关错误

Nginx 504 网关错误

我在 Linux VPS 服务器上托管了一个 J2EE 应用程序。我使用 nginx 作为 Web 服务器,使用 tomcat6 作为应用程序服务器。有时,网站会一直等待加载,有时甚至会抛出 504 bad gateway nginx 错误。在此几分钟(通常为 3-5 分钟)的停机时间内,如果我尝试通过 SSH 访问服务器,则会收到连接超时错误。几分钟后,当网站开始工作时,我注意到 tomcat、nginx 仍在使用与之前相同的进程 ID 运行。我不需要重新启动 tomcat 或 nginx,它会自行开始工作。此外,一旦网站再次运行,我还注意到与服务器的 SSH 连接也会成功。

我不确定问题到底出在哪里?是服务器的连接问题还是我的配置有错误?任何见解都将不胜感激。

答案1

您正在使用具有 1GB RAM 和 2GB 交换空间的 Xen VPS,并且您的 VPS 提供商为所有其他客户提供相同的 RAM 与交换空间比率,其中为最低层级的客户提供 128MB RAM 和 256MB 交换空间。

对于 VPS 托管商来说,这似乎是一个非常高的交换空间与 RAM 的比率,特别是如果他们提供低级别的配置,比如 128MB RAM 和 256MB 交换空间,而当毫无戒心的新手用户使用时,这些配置总会耗尽 RAM。

听起来您收到的 Bad Gateway 错误是由于您的 J2EE 应用程序的回复延迟过长引起的,这可能是由于正在进行的所有交换引起的。

最好的办法是测试服务器的性能。您可能应该先运行dd测试磁盘吞吐量,然后再使用某种 UNIX 基准测试工具。

相关内容