開発環境
Mac OS Catalina 10.15.7
ruby 2.6系
rails 6.0系
本番環境
nginx 1.18.0
AWS(EC2, S3, ALB, Route53)
前提
-
備忘録の意味合いが強い記事です
-
capistranoのによる自動デプロイを導入しています
EC2にログイン
# ターミナル
ssh -i [ダウンロードした鍵の名前].pem ec2-user@[インスタンスのElastic IP]
ディレクトリを移動
コマンドを実行してlogディレクトリまで移動する
[ec2-user@ip-xxx-xx-xx-xxx~]$ cd /var/www/アプリケーションの名前
[ec2-user@ip-xxx-xx-xx-xxx <アプリケーション名>]$ cd current
[ec2-user@ip-xxx-xx-xx-xxx current]$ cd log
[ec2-user@ip-xxx-xx-xx-xxx log]$ ls
production.log unicorn.stderr.log unicorn.stdout.log
ログを確認
# 実行すると最新のログを10行分表示
[ec2-user@ip-xxx-xx-xx-xxx log]$ tail -f production.log
実際に本番環境でエラーになっている機能を試したり、エラーになっているページに遷移した際のログを読みエラー内容を把握する
修正した後、再びデプロイする
# プロセスIDを確認
[ec2-user@ip-xxx-xx-xx-xxx <アプリケーション名>]$ ps aux | grep unicorn
ec2-user 19728 ←この数字の部分(killするのはmaster)
# プロセスIDをkillする
[ec2-user@ip-xxx-xx-xx-xxx <アプリケーション名>]$ kill 19728
# 再びデプロイ(ローカルから)
bundle exec cap production deploy
注意として、デプロイし直した際に画像データが消えてしまうが、S3に画像の保存先を変えることで解決できる
以上です。