はじめに
EC2 + Nginx + Unicorn + MysqlでRailsアプリをデプロイした際に、頻繁に使っていたコマンドをまとめてみました。
動作環境
・Rails 6.0.4
・Unicorn 6.0.0
・Nginx 1.20.1
・Mysql 8.0.26
Nginxコマンド
ターミナル
$ sudo service nginx start # 起動
$ systemctl status nginx.service # 状態の確認
$ sudo service nginx reload # リロード
Unicornコマンド
ターミナル
$ unicorn_rails -c /var/www/rails/(アプリ名)/config/unicorn.conf.rb -D -E production # 起動 (各自のunicorn設定ファイルのパスを記述)
$ ps -ef | grep unicorn | grep -v grep # 状態の確認
# 以下のように表示されれば起動されています。何も表示されない場合は起動していません。
username 24265 1 27 03:22 ? 00:00:01 unicorn_rails master -c /var/www/rails/(アプリ名)/config/unicorn.conf.rb -D -E production
username 24271 24265 0 03:22 ? 00:00:00 unicorn_rails worker[0] -c /var/www/rails/(アプリ名)/config/unicorn.conf.rb -D -E production
username 24273 24265 0 03:22 ? 00:00:00 unicorn_rails worker[1] -c /var/www/rails/(アプリ名)/config/unicorn.conf.rb -D -E production
$ kill (PID) # Unicornの停止 (上記の例だとPIDは24265となります。つまり、kill 24265 で停止します。)
[username@ip-10-0-11-209 rails_app]$ RAILS_ENV=production rails c # EC2内でconsoleを起動させる
# この時、Railsアプリがあるディレクトリ内で実行しないと起動しません。この場合はアプリのディレクトリ名がrails_appです。
Mysqlコマンド
ターミナル
$ sudo service mysqld.service # 起動
$ systemctl status mysqld.service # 状態の確認
$ sudo service mysqld restart # リロード
おわりに
今回初投稿させていただきました。自分自身、EC2 + Nginx + Unicorn + Mysql でデプロイすることに結構苦労しましたので、今後少しでもみなさんの力になれるように投稿していきたいと思います。よろしくお願いします!
参考サイト
以下、デプロイ時にとても参考になった記事です。@naoki_mochizukiさま、本当にありがとうございます。