502 bad gateway
502 bad gate way
先日、AWSのEC2の再起動をかけたら、こんなのが出ました。
502….bad gate way …???
とりあえずググりますが、
ロードバランサーがどうとかこうとか….
ふむ。とりあえず、nginxに何か問題があるのかな….と思い、
nginxのerror.logを見てみます。(/var/log/nginx)
nginx: connect() failed (111: Connection refused) while connecting to upstream
接続が拒否されて、ソケットが動いてない、、、、だと、、、?
unicorn.rbは特にいじった記憶がありません。
先ほどまで普通に動いていたのに、、、
とりあえず、unicornがうまく起動していないとのことだったので、 下記サイトを参考にソケットのパス指定など試行錯誤。
Capistrano3 + Rails4 + Unicorn + Nginx + EC2でサーバー構築! - Qiita
そこでふと気づきます。 ***/shared/tmp/pidsに、unicorn.pidが生成されていないことに….
どうやら、先に走ってるプロセスがうまく死んでないときにデプロイしたことが原因で、pidファイルが生成されていなかったようです…
プロセスを殺し、再度デプロイすると……
動いた!!!!!
ということで、capistranoでデプロイするときは、
ps ax | grep unicorn
で今走ってるプロセスがないか確認したほうが良いそうです。
辛かったけど、めっちゃ勉強になった。