背景
デプロイ時のエラーはかなり起きるもの。(もしかしたら自分だけかもしれませんが、、)
そういう時の見るべきポイントを書き出してみました。
エラー発生時の見るべきポイント
####Railsが起動されない時
・pushのし忘れ、またはEC2サーバ側でのpullのし忘れは無いか
・EC2サーバ側で、/var/www/<リポジトリ名>/log/unicorn.stderr.logをlessまたはcatコマンドで確認し、エラーが出ていないか確認する(下に行くほど最新のログです。時刻表記がUTCであることに注意してください)
・ローカルでの編集のpushやEC2でのgit pullを忘れていないか
・前カリキュラムで実施した、mysqlの起動は正しく行えているか
・EC2サーバ側のSECRET_KEY_BASE等は正しく設定できているか
・EC2インスタンスの再起動を行ってみる
####手動デプロイ後にIPアドレスにアクセスできない時
・502 but gatewayとエラーが出る場合は、nginxのlogの確認が必要になります。
(/var/log/nginx/error.logをlessまたはcatコマンドで確認する。)
・サーバ側で、/var/www/<レポジトリ名>/log/unicorn.stderr.logをlessまたはcatコマンドで確認し、エラーが出ていないか確認する
(下に行くほど最新のログです。時刻表記がUTCであることに注意してください)
・Railsを起動しているか
・EC2インスタンスの再起動を行ってみる(※本番環境にてmysqlとnginxの起動が必要。)
####自動デプロイ時にエラーが起きた時
・そのままもう一度同じコマンドを実行してみる。特に、bundle installのタスクの際に、初めて自動デプロイを実行する場合は、メモリ不足で落ちることがあります
・記述ミスが無いか
・特に、本カリキュラムにおいて、修正したファイルに注目して確認しましょう
・手順を飛ばしていないか
・bundle installなどのコマンド実行を忘れていないか確認しましょう
自動デプロイ後にIPアドレスにアクセスできない時
・ローカル側(localhost3000)においてエラーが出ていないか
・サーバー側で、/var/www/<レポジトリ名>/current/log/unicorn.stderr.logをlessまたはcatコマンドで確認しエラーが出ていないか確認する
(下に行くほど最新のログです。時刻表記がUTCであることに注意してください)
・ローカルでの編集のpushやpullを忘れていないか
・サーバー側のmysqlやnginxの再起動を行ってみる
・EC2インスタンスの再起動を行ってみる(※本番環境にてmysqlとnginxの起動も必要です。)