我们已经在VPS上运行了Ruby on Rails应用程序。 这晚,nginx响起了“502 Bad Gateway”。 Nginx错误日志包含许多以下消息:
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"
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天前。
所以问题在于独angular兽服务器。 然后,我打开独angular兽错误日志,发现只有一些信息消息,这并没有连接一个问题。 生产日志也是无用的。
我试图通过service nginx restart
启动服务器,但它没有帮助。 也没有一些未决的独angular兽进程。
当我重新部署应用程序时,问题就解决了。 而奇怪的是,因为我在服务器closures前10个小时部署了相同版本的应用程序。
我正在寻找任何build议如何防止这种'魔术'的情况下在未来。 感谢您可以提供的任何帮助!
看起来你的独角兽服务器没有运行,当nginx试图访问它。
这可能是由于VPS重新启动,独角兽进程中的某些异常,或由于可用内存不足而导致的独角兽进程死亡。 (恕我直言,VPS重启是最可能的原因)检查独角兽
ps aux | grep unicorn
你也可以检查服务器的正常运行时间
uptime
然后你可以: