【问题标题】:nginx with unicorn frequently gives 502 bad gateway带有独角兽的 nginx 经常给出 502 bad gateway
【发布时间】:2016-01-15 13:27:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails nginx unicorn


    【解决方案1】:

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

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

    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.
    

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

    【讨论】:

    • 我真的不认为有内存不足的问题。我只运行了一个 Rails 服务器,并且有大约 5 个用户连接到该网站。
    • 在哪里可以查看系统日志?顺便说一句,我使用的是 linux ubuntu 服务器
    • 据我所知(我不是一个强大的 ubuntu 用户)大部分日志都存储在 /var/log/ 文件夹中。你可以这样做:“sudo ls /var/log”来检查它。然后,您可以使用 Tail 查看您想要的任何文件中的最后几行。例如:“sudo tail /var/log/syslog -n 50”。 “-n 50”部分不是必需的,但会显示文件中的最后 50 行。如果不是,它只会显示最后 10 行。
    • 好的,进入系统日志,正如预期的那样,没有内存不足的日志
    • :(那祝你好运!对不起,我帮不了你。
    【解决方案2】:

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

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

    2)我在 Dropbox 服务上存储了一些图像,这非常慢(我们改用亚马逊,效果很好!)。

    3)我在 700MB RAM 的服务器上运行应用程序,使用独角兽(这会消耗内存)非常糟糕。 所以我们改成了 puma(好多了)。

    【讨论】:

      猜你喜欢
      • 2019-08-14
      • 2021-05-14
      • 2020-10-29
      • 1970-01-01
      • 2018-04-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 2023-03-20
      相关资源
      最近更新 更多