3

我们有 Ruby on Rails 应用程序,它在 VPS 上运行。今晚,nginx 出现故障并以“502 Bad Gateway”响应。Nginx 错误日志包含大量以下消息:

2013/10/02 00:01:47 [error] 1136#0: *1 connect() to unix:/app_directory/shared/sockets/unicorn.sock failed (111: Connection refused) while connecting to upstream, client: 5.10.83.46, server: www.website.com, request: "GET /resource/206 HTTP/1.1", upstream: "http://unix:/app_directory/shared/sockets/unicorn.sock:/resource/206", host: "www.website.com"

这些错误突然开始,因为之前的错误消息是 5 天前。

所以问题出在独角兽服务器上。然后我打开了独角兽错误日志,发现只有一些信息消息,这与问题无关。生产日志也没有用。

我试图通过 重启服务器service nginx restart,但没有帮助。也没有一些未决的独角兽进程。

当我重新部署应用程序时,问题就解决了。这很奇怪,因为我在服务器宕机前 10 小时部署了相同版本的应用程序。

我正在寻找任何建议,以防止将来出现此类“神奇”案件。感谢您提供的任何帮助!

4

1 回答 1

2

当 nginx 尝试访问它时,您的独角兽服务器似乎没有运行。

这可能是由于 VPS 重启,独角兽进程中的一些异常,或者由于可用内存不足而导致独角兽进程被杀死。(恕我直言,VPS 重启是最可能的原因)检查 unicorn by

ps aux | grep unicorn

您也可以检查服务器正常运行时间

uptime

那么你也能:

  • 添加将在 VPS 启动时启动独角兽的脚本
  • 将其添加为服务
  • 运行一些监控过程(如monit
于 2013-10-03T09:02:26.873 回答