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

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

# デプロイエラー解決方法(ログを見よう!!)

はい、こんばんは。

 

本日はまた(!)謝られました・・・・

f:id:g1034725:20181207002038p:plain

まあ、謝ってるから、許してやろうかな・・・・ってこら!

 

というわけで、プロジェクトを進めていく上で度々発生するエラーを解決する方法を記述していこうと思います。

 

今回はログを見るに焦点を当ててアウトプットしていきましょう!!

 

まずは、EC2のアカウントにログインしましょう!!

ホームディレクトリから

```

cd .ssh/

ssh -i 設定したキーペア.pem ec2-user@Elastic IP

```

でEC2サイトにログインします。

 

 

f:id:g1034725:20181217211029p:plain

 

こんなアイコンが出ればログインできています。

 

そして

```

cd /var/www/アプリケーション名

cd log/

```

でログにいきます。

 

logにいる状態でlsしてみましょう!!

 

そうしたら、production.rbというファイルがあります。

 

その中に、エラー解決のヒントが隠されています。

 

ではログを見るコマンドとして、2つ挙げます。

 

catコマンドtailコマンドです。

 

 

catコマンド・・・ファイルの中身を確認するときに用いるコマンド。

 

cat ファイル名という使い方をする。

 

この場合、cat production.rbのように記述する。

 

そうすると、production.rbで行った全てのlogを見ることができます。

 

そう、全てです!!量が多い!短くせえ!!と思った方はご安心を。

 

そんな時のために、tailコマンドがあります。tailという名前の通り、logのうち、最後に行われた処理を見ることができます。

 

tail -20 production.rb

 

とコマンドを入力すると、20件のlogを見ることができます。

 

f:id:g1034725:20181217212718p:plain

上記のような画面になり、よく見ると、Fの部分でエラーが出ていますね・・・

 

そしたら、そのエラーを解決しにいこう!!という風に考えるわけです。

 

結局本日のエラーはunicornに問題がありました・・・

f:id:g1034725:20181217213001p:plain

最初にこんなエラー。

原因はWebサーバ(Nginx)が起動していなかったので、sudo service nginx startで起動。

 

あとはunicornをkillして、復活させて、killして、復活させて・・・で治りました。

 

ちなみに、unicorn

 

ps -ef --forest | grep unicorn

 

というコマンドで確認しました。

 

出てきたmasterの番号を

 

kill 番号で削除。

 

そして、

bundle exec unicorn -c /var/www/アプリ名/current/unicorn.rb -E production -Dで復活させ、IPアドレスで確認すると、見事・・・解決!!!

 

モヤモヤしている点もありますが、今日のところはこれでよし!!

 

明日も頑張ります