初心者プログラマのひとり勉強部屋

若葉マークのプログラマー☺️

【ruby on rails チーム開発】デプロイ時のエラーログ

こんにちは!

デプロイ関係の記事が途中なのですが、今回はAWSでのデプロイのエラー群を備忘録しておきます。

実を言うと以下2つだけであまり困りませんでした。

 ※全てローカル環境ではうまくいく場合です。

 

-動的ファイルを追加した場合

-railsプログラムに問題ありの場合

 

 

       ■「We're sorry, but something went wrong.」が出たとき

 

・例えばjqueryなど動的ファイルを追加した

EC2の再起動

(それでもダメなら)unicorn再起動

unicorn再起動方法

(EC2)$ ps aux | grep unicorn //ユニコーンプロセスをみる(ps auxは全プロセス)

f:id:mocomo012:20200318142038p:plain

unicornプロセス一覧

左から2つめがプロセスID→masterプロセスをkillして再起動します。

$ kill <PID> //ここでは5923
$bundle exec unicorn -E production -c config/unicorn.rb -D //unicorn手動起動・あるいは自動デプロイの場合はデプロイコマンド
 
capistranoを入れている場合は設定ファイルのdeploy.rbに「unicornプロセス終了」→「unicornプロセス開始」の記述を入れていてもOKです

ユニコーンのエラーログの確認(capistrano導入後はcurrentフォルダ配下に移動します)

(EC2)$less /var/www/アプリ名/current/log/unicorn.stderr.log

 

       ■railsのプログラムに問題ある

(例:環境変数が適応されない・あるメソッドがproduction環境でエラーが出ている)

「production.log」を確認(どこが悪いか詳細に記載されています)

 

railsのエラーログの確認

(EC2)$less /var/www/アプリ名/current/log/production.log

  ・lessコマンド後「G, >」でファイルの終端に移動

  ・$less +F オプションでログファイルをリアルタイムで見れます。

 

スクールでのチーム開発ではこの2つで全て解決しました。

まずはEC2再起動するのが重要です🙂

 

備忘録

■DB起動確認・再起動

sudo service mysqld start //起動
sudo service mysqld restart //再起動
sudo service mysql stop //停止
■Nginx設定変更した時の読み込み・再起動
sudo service nginx reload