はじめに
苦労して作り上げたアプリをさらに苦労してAWSにデプロイしたという人も多いのではないでしょうか?
私も同じく相当苦労してAWSでデプロイすることに成功しました。
・・・が!
これってローカルでコード書き換えたりした時ってどうやって更新するんだろう?
もちろんCapistranoってやつで(まだ学習してないので何も知らない)
自動でデプロイしてくれるようにできるのかもしれませんがとりあえずは自動ではなく手動(?)で更新したいのです。
最初の認識ではEC2にログインしてアプリのリポジトリで git pull
したら反映されるものだと思ってやってみましたが更新されておりませんでした。
調べてみた結果
調べてみましたがなかなか欲しい情報にヒットせずこんなことで立ち止まってるのは自分だけなのかな???
と少し不安になりましたがググりまくってなんとかこれかな?という情報を見つける事ができました。
それがunicornの再起動でした。
解決方法
$ ps -ef | grep unicorn | grep -v grep
EC2にログインしてアプリのリポジトリからunicornの状況を確認します。
hiroaki 6472 1 0 Aug26 ? 00:00:02 unicorn_rails master -c /var/www/rails/ride_on/config/unicorn.conf.rb -D -E production
hiroaki 7030 6472 0 Aug26 ? 00:00:10 unicorn_rails worker[1] -c /var/www/rails/ride_on/config/unicorn.conf.rb -D -E production
hiroaki 7051 6472 0 Aug26 ? 00:00:10 unicorn_rails worker[0] -c /var/www/rails/ride_on/config/unicorn.conf.rb -D -E production
こんな感じで表示されると起動されているので、
unicornのmasterをkillして停止させます。
$ kill -9 6472
停止させたらこちらのコマンドで確認、何も表示がなければ止まっているので
$ ps -ef | grep unicorn | grep -v grep
そのあとこちらのコマンドで起動させます。
$ bundle exec unicorn_rails -c /var/www/rails/(アプリ名)/config/unicorn.conf.rb -D -E production
これで確認してみるとちゃんと本番環境も更新されておりました・・・!
とりあえず更新が反映されて一安心ですがAWSに関してはまだまだ理解がないのでもっと勉強します・・・。