【问题标题】:Nginx and unicorn failure - upstream timed outNginx 和 unicorn 失败 - 上游超时
【发布时间】:2011-10-27 14:20:10
【问题描述】:

我有带有 nginx 和独角兽的 rails 机器。非常典型的设置,你可以在这里查看:https://gist.github.com/7e0f9d762cf4d521d3c4

它运行得很好,直到今天,当我有很多:

读取响应时上游超时(110:连接超时) 来自上游的标头,客户端:xxx.xxx.xxx.xxx,服务器

在 nginx 的 error.log 中

重启后没问题,但我担心它会再次发生。 有没有人遇到过类似的问题,或者能告诉我为什么会这样吗?

【问题讨论】:

    标签: ruby-on-rails nginx unicorn


    【解决方案1】:

    我听说过 Monit 和 God 中的实现,它们会检查挂起的套接字。我建议你寻找线程上的响应时间增加,这将表示这种情况,当它发生时,让 monit 挂起它,导致独角兽产生一个新的工人。

    http://www.stopdropandrew.com/2010/06/01/where-unicorns-go-to-die-watching-unicorn-workers-with-monit.html

    另一种可能性是使用瘦,这对于非 LAN(即 WAN 或 WWW)设置更好一些,因为它不像 Unicorn 那样是快速客户端。

    【讨论】:

    • 嗨,杰夫,感谢您的回复。我找到了这个问题的根源,它是对 mongodb 的许多查询,并且响应需要很长时间。但感谢分享链接。
    【解决方案2】:

    我也遇到了同样的问题。您可以在 unicorn 错误日志文件和您的 production.log 文件中找到更多信息。然后你可以找到真正的问题。可能是因为你正在处理的文件太大,对于 unicorn.rb 有一个超时设置,会出现这个超时问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 2015-05-26
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多