プログラミング勉強中!!

TECH::EXPERT 40期 受講生の筆者がその日学んだことをアウトプットしていくブログです。学習量によっては全て書ききれないこともあります。お気付きのことありましたバシバシコメントください!!3月中旬よりWEBエンジニアとして働くことになりました。日々の業務などについても発信させていただきたいと思います!!よろしくお願いいたします!!

デプロイ

はい、こんばんは。

 

本日はデプロイを数日間担当させてもらって思ったことをアウトプットします。

 

IPアドレスをウィンドウに入力して映らない場合、原因は3つある。

 

1. mysql が動いていない。

2. nginxが機能していない

3. unicornが何らかの妨害をしている。

 

 

1に関しては、mysqlを再度機能させるコマンドを入力する。

sudo service mysqld start

 

Starting mysqld:                                           [  OK  ]

 

となれば大丈夫かと思います。

 

ちなみに、mysqlが動作しているかどうか確認するには、logを確認する必要があります。

 

EC2 <レポジトリ名>]$ less log/unicorn.stderr.log

でlogを確認。

 

E, [ #18813] ERROR -- : Unknown database 

 

ここで上記のようなエラーがあればmysqlに関するエラーが出ています。

 

このエラーはデータベースがないですよ!とい意味なので、あまり関係ないかと思います。

 

Can't connect to hogehoge というエラーになれば、一度mysqlをstopして、再び起動するのをお勧めします。

 

2 nginxが起動していないに関しては、IPアドレスをウィンドウに入力したが、果てしなくロード中であるときです。

 

その場合、下記コマンドで対応しましょう。

sudo service nginx restart

 

 

無事解決できるはずです。

 

3. mysqlを起動しました、nginxを再起動しましたが、下記画面が表示される場合、unicornに問題があるかもしれません。

f:id:g1034725:20181207002038p:plain

 

その場合は、unicornをkillしましょう。

 

ps aux | grep unicorn

で動いているunicornを特定。 そのmasterのunicornに対して下記コマンド。

 

kill -9 hogehoge

 

再度unicornを確認してから、再起動しましょう。

 

再起動は下記コマンドです。

bundle exec unicorn -c /var/www/レポジトリ名/current/config/unicorn.rb -E production -D

 

unicornが復活していると思いますので、再度IPアドレスでアクセスしましょう。

 

 

きっと動いてくれるはずです。

 

デプロイ作業で困ったら、mysql, nginx,unicornの3つにメスを入れましょう。

 

※40期最終課題の最高顧問であるY様にご協力いただいて、デプロイ問題を解決しました。誠にありがとうございました。