5
3

More than 3 years have passed since last update.

AWS本番環境でよく使うコマンド一覧

Posted at

自分のメモ用です。

環境

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

viコマンド(vimコマンド)リファレンス

本番環境のエラー表示

config/environments/production.rb

config.consider_all_requests_local = false
↓
config.consider_all_requests_local = true
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3