LoginSignup
0
0

(備忘録)AWSのEC2でデプロイした後、開発環境で修正・更新を本場環境にアップする方法

Last updated at Posted at 2022-12-22

開発環境で作成したAPPをAWSのEC2でデプロイした後、変更や修正点があった際、引き続き本番環境にアップする手順(コマンド)をまとめた。

①user_name@computer_name ~ % cd .ssh/

②user_name@computer_name ~ .ssh % ssh -i ダウンロードした鍵の名前.pem ec2-user@作成したEC2インスタンスに紐付けたElastic IP

③[ec2-user@作成したEC2インスタンスに紐付けたElastic IP ~]$ cd /var/www/[リポジトリ]

④[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$git pull origin master
※GitHubの内容をEC2に反映させる

⑤[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$rails db:create RAILS_ENV=productionCreated database ‘APP名_production’

※「RAILS_ENV=production」とは、本番環境でコマンド実行する時につくオプション
※「RAILSのENV(環境)がproduction(本番環境)ですよ」という意味。

⑥[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$rails db:migrate RAILS_ENV=production

!!!ここで「Mysql2::Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'」というエラーが起こった場合、データベースが起動していない可能性があり
→「sudo systemctl start mariadb」というコマンドをターミナルから打ち込み、mysqlの起動を試す。

⑦[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$rails assets:precompile RAILS_ENV=production

※「アセットファイル」とは、画像・CSS・JavaScript等を管理しているファイル。
※アセットファイルを圧縮し、そのデータを転送する処理を「コンパイル」と言う。
※アセットファイルを行わないと、本番環境でCSSが反映されずにビューが崩れしまったり、エラーでブラウザが表示されない、などの問題が生じる。

⑧[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$bundle exec unicorn_rails -c config/unicorn.rb -E production -D
※Railsを起動

⑨[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$ps aux | grep unicorn

※本番環境のRails再起動の為、「psコマンド」で、現在動いているプロセスを確認
→その後、
[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$ kill <確認したunicorn rails masterのプロセスid>
で、強制終了

⑩[ec2-user@作成したEC2インスタンスに紐付けたElastic IP リポジトリ名]$RAILS_SERVE_STATIC_FILES=1 unicorn_rails -c config/unicorn.rb -E production -D

※「RAILS_SERVE_STATIC_FILES=1」というオプションをつけて、Rails再起動
※「RAILS_SERVE_STATIC_FILES=1」で、Railsがコンパイルされたアセットを見つけられるように指定する

0
0
1

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
0
0