带独角兽的 nginx 经常给出 502 错误网关

nginx with unicorn frequently gives 502 bad gateway

我的应用程序在 nginx 下运行,带有 unicorn。但有时它会给我 502 错误的网关,我什至没有尝试加载大页面。

此外,我的 nginx 只是奇怪地停止响应。我可以在我的服务器上看到请求,但没有任何反应。

我的问题是我的 nginx 如何与 unicorn 一起正常工作?是否有任何教程或文章可以帮助我解决这个问题?

很遗憾,我无法发表评论,所以我 post 在这里: 如果您在日志中找不到任何明确的信息并且 502 错误接缝是随机的,则可能是内存问题。您可能需要检查系统日志中是否有 "out of memory" 错误,以防您的服务器在处理请求时 运行 内存不足。

一些可能对您有帮助的资源:

Strange issue with unicorn and nginx caused 502 error

https://www.digitalocean.com/community/tutorials/how-to-optimize-unicorn-workers-in-a-ruby-on-rails-app

编辑:由于您是 运行 一个 UBUNTU 服务器,这可能会帮助您查看内存使用情况:

$ free m # Will show you your current memory usage.
$ top # will show you you processes sorted by CPU usage. If you press Shift + M will sort them by memory usage.
$ sudo tail /var/log/syslog -n 50 # to see the last 50 lines in your syslog
$ sudo ls /var/log # To list most of your logging files in Ubuntu.

我希望这能帮助您确定您的问题。祝你好运!

嗯,我收到这个 502 有很多原因...

1) 我的网站没有优化,视图上有太多 ruby 代码。

2)我在 Dropbox 服务上存储了一些图片,速度非常慢(我们换成了亚马逊,效果很好!)。

3) 我是 运行 700MB RAM 服务器上的应用程序,它使用独角兽(消耗内存)很糟糕。 所以我们换成了美洲狮(好多了)。