自分のメモ用です。
#環境
Rails 5.2.4
ruby 2.5.1
capistrano 3.13.0
AWS(EC2)
Web Server Nginx
Application Server Unicorn
#Capistranoを導入後の自動デプロイの手順
###ターミナルからEC2userへログイン
MacBook-Pro ~ % $ cd .ssh/
# ログイン
MacBook-Pro .ssh % ssh -i app名.pem ec2-user@18.000.000.00(IPアドレス)
# リポジトリに移動
[ec2-user@ip-111-11-11-111 ~]$ cd /var/www/app名
###Nginxの再起動
ターミナル(EC2サーバ)[ec2-user@ip-111-11-11-111 ~]
$ sudo service nginx reload
$ sudo service nginx restart
###MySQL起動
ターミナル(EC2サーバ)[ec2-user@ip-111-11-11-111 ~]
$ sudo service mysqld start
###unicornのプロセスを停止(killコマンド)
ターミナル(EC2サーバ)[ec2-user@ip-111-11-11-111 ~]
$ pgrep -f unicorn
123456
678910
$ kill -9 123456
###自動デプロイ前に念のため、git pull origin master
ターミナル(EC2サーバ)[ec2-user@ip-111-11-11-111 ~]
$ git pull origin master
####git pull origin masterとは、
ローカルリポジトリの状態を追跡ブランチであるorigin/masterにコピー(git fetch)、
masterブランチの追跡ブランチ(origin/master)をローカルのmasterブランチにマージする
###Capistranoによる自動デプロイ
ターミナル(ローカルPC) アプリのディレクトリで下記を実行
$ bundle exec cap production deploy
###credentials.yml 編集方法
ターミナル(ローカルPC) アプリのディレクトリで下記を実行
$ EDITOR='code --wait' rails credentials:edit
閉じれば、保存される。編集中はTerminal使用不可。
###mysqlをターミナルで操作
$ mysql -u root -p
Passward : 123456
「ユーザ名:root」で接続します、パスワードは後で聞いて という意味
#ログアウト
mysql> exit
#データベース一覧を表示
mysql> show databases;
#使用するデータベースを選択
mysql> use app名_production
#テーブル一覧を表示
mysql> show tables;
#カラム一覧を表示
mysql> show full columns FROM [テーブル名];
#特定のテーブル
mysql> show index FROM [テーブル名];
###マイグレーションファイルを変更した場合の本番環境でのコマンド
本番環境のcurrentディレクトリで
[ec2-user@ip-111-11-11-11 current] $ git pull origin master
[ec2-user@ip-111-11-11-11 app]$
#rails db:drop
$ RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1 bundle exec rake db:drop
#rails db:create
$ rake db:create RAILS_ENV=production
#rails db:migrate
$ rake db:migrate RAILS_ENV=production
#rails db:seed
$ rake db:seed RAILS_ENV=production
###本番環境のエラー解決
・currentディレクトリでproduction.logの確認
[ec2-user@ip-111-11-11-111 ~]$ ec2サーバーにログイン
$ cd /var/www/app名/current/
$ cd log/
$ tailf production.log
#ログアウト
$ exit
###本番環境で写真が反映されない写真保存先の確認
$cd app/assets/
$cd images/
###環境変数を定義
・本番環境やローカル環境は ~/.bash_profileへ記述
$ vim ~/.bash_profile
・Capistranoを使用し自動デプロイを行う場合、環境変数は/.etc/environmentmに記述
$ vim ~/.etc/environment
$ sudo vi /etc/environment
###本番環境のエラー表示
config/environments/production.rb
config.consider_all_requests_local = false
↓
config.consider_all_requests_local = true