前提・実現したいこと
Nginxのエラーログを出力したい。
本番環境(AWS)にデプロイした後、Webサイトで該当アプリケーションを確認しようとしたところ、
502 Bad Gateway nginx/1.18.0
と表示されました。
その為、Nginxのエラーログを確認しようとターミナルでEC2にSSHでログインし、
sudo tail -f /var/log/nginx/error.log
と入力
発生している問題・エラーメッセージ
上記のように
sudo tail -f /var/log/nginx/error.log
と入力して20分ほど待っても何も表示されません。
##試したこと
nginxのログファイルがある場所を確認
error_log /var/log/nginx/error.log;
と表示されている為、こちらは問題なさそう
##補足情報(FW/ツールのバージョンなど)
macOS Big Sur
バージョン 11.2.1
Nginx
バージョン 1.18.0
> nginxのログファイルがある場所を確認
> error_log /var/log/nginx/error.log;
これが怪しいので再度確認してみてはどうでしょう?
ls -l /var/log/nginx でどんなファイルがあるか確認してみましょう。
たぶん access.log もあると思いますが、そっちは何か書いてありますか?
hentaimanさん
cat portfolio2.confで.confファイルを確認したところ、
upstream puma {
server unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock;
}
server {
listen 80;
root /home/ec2-user/portfolio2/current/public;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 100M;
include /etc/nginx/mime.types;
と表示されましたので特に問題なさそうです、、
hoshi-takanoriさん
[ec2-user@ip ~]$ ls -l /var/log/nginx
ls: ディレクトリ /var/log/nginx を開くことが出来ません: 許可がありません
[ec2-user@ip ~]$ sudo ls -l /var/log/nginx
合計 172
-rw-rw-r-- 1 ec2-user root 0 12月 4 03:45 access.log
-rw-rw-r-- 1 ec2-user root 1203 10月 16 03:21 access.log-20201016.gz
-rw-rw-r-- 1 ec2-user root 2335 10月 18 03:48 access.log-20201018.gz
-rw-rw-r-- 1 ec2-user root 10944 10月 19 03:06 access.log-20201019.gz
-rw-rw-r-- 1 ec2-user root 8030 10月 27 03:36 access.log-20201027.gz
-rw-rw-r-- 1 ec2-user root 1005 10月 28 07:40 access.log-20201028.gz
-rw-rw-r-- 1 ec2-user root 4654 10月 29 03:13 access.log-20201029.gz
-rw-rw-r-- 1 ec2-user root 675 11月 4 12:13 access.log-20201104.gz
-rw-rw-r-- 1 ec2-user root 738 11月 10 13:46 access.log-20201110.gz
-rw-rw-r-- 1 ec2-user root 31190 12月 2 04:46 access.log-20201202.gz
-rw-rw-r-- 1 ec2-user root 33881 12月 4 03:45 access.log-20201204.gz
-rw-rw-r-- 1 ec2-user root 0 12月 4 03:45 error.log
-rw-rw-r-- 1 ec2-user root 1297 10月 16 03:21 error.log-20201016.gz
-rw-rw-r-- 1 ec2-user root 1539 10月 18 03:48 error.log-20201018.gz
-rw-rw-r-- 1 ec2-user root 11832 10月 19 03:06 error.log-20201019.gz
-rw-rw-r-- 1 ec2-user root 12055 10月 27 03:36 error.log-20201027.gz
-rw-rw-r-- 1 ec2-user root 371 10月 28 07:40 error.log-20201028.gz
-rw-rw-r-- 1 ec2-user root 3347 10月 29 03:13 error.log-20201029.gz
-rw-rw-r-- 1 ec2-user root 1400 11月 4 12:13 error.log-20201104.gz
-rw-rw-r-- 1 ec2-user root 897 11月 10 13:46 error.log-20201110.gz
-rw-rw-r-- 1 ec2-user root 2195 12月 2 04:46 error.log-20201202.gz
-rw-rw-r-- 1 ec2-user root 1075 12月 4 03:45 error.log-20201204.gz
このように表示されaccess.logもありましたが、今日の分のログが無い事に違和感を感じます。
upstream定義してるだけで使ってなさそうだから確認漏れのconfがあると思うんですが、それで全部ですか?
もしそれで全部ならconfミスってます。自分がrubyもrailsもサッパリ分からないので正しい設定は教えられませんが
error.log だけじゃなく access.log もサイズ 0 なんですね。アクセスがなかった日のやつは消えるのかな…。
とりあえず zcat (または gzcat) で古いログを見てみては。
hentaimanさん
上記のconfファイルと同じ階層にvirtual.confというファイルがあり中を見てみましたが、
#
# A virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
と記述されており関係なさそうな感じがしました。
なので、confファイルの作成がミスっている可能性は高そうですね。
hoshi-takanoriさん
サイズ0になっていますね。。
あと、zcat (または gzcat)が使えないみたいなのですが、他にファイルを確認する方法はありますかね、、?
[ec2-user@ip-172-31-0-73 ~]$ zcat error.log-20201204.gz
gzip: error.log-20201204.gz: No such file or directory
[ec2-user@ip-172-31-0-73 ~]$
[ec2-user@ip-172-31-0-73 ~]$ gzcat error.log-20201204.gz
-bash: gzcat: コマンドが見つかりません
[ec2-user@ip-172-31-0-73 ~]$ cat error.log-20201204.gz
cat: error.log-20201204.gz: そのようなファイルやディレクトリはありません
[ec2-user@ip-172-31-0-73 ~]$ gzcat error.log-20201204.gz
-bash: gzcat: コマンドが見つかりません
[ec2-user@ip-172-31-0-73 ~]$ gzcat error.log
-bash: gzcat: コマンドが見つかりません
sudo zcat /var/log/nginx/error.log-20201204.gz
とか
sudo zcat /var/log/nginx/access.log-20201204.gz | tail -100
とかでしょうか。
ローカルでは動いてるんですか?動いているならconfのアップロード漏れです。
hoshi-takanoriさん
sudo zcat /var/log/nginx/error.log-20201204.gzで中を確認できました。ありがとうございます。
この時はまだ正常に動いていたので特にエラーは発生しないですね。。
ごめんなさい、アプリケーションのルートディレクトリに移動してから
sudo tail -f /var/log/nginx/error.log
と入力したところ、
2021/02/13 13:07:08 [error] 28937#0: *13 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.0.211, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
2021/02/13 13:07:11 [error] 28937#0: *15 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.3.121, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
2021/02/13 13:07:38 [error] 28937#0: *17 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.0.211, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
と無事エラーログが表示されました。ありがとうございます。。
hentaimanさん
ごめんなさい、アプリケーションのルートディレクトリに移動して
sudo tail -f /var/log/nginx/error.log
と入力したところ、
2021/02/13 13:07:08 [error] 28937#0: *13 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.0.211, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
2021/02/13 13:07:11 [error] 28937#0: *15 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.3.121, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
2021/02/13 13:07:38 [error] 28937#0: *17 connect() to unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock failed (111: Connection refused) while connecting to upstream, client: 172.31.0.211, server: notworry.net, request: "GET / HTTP/1.1", upstream: "http://unix:///home/ec2-user/portfolio2/current/tmp/sockets/puma.sock:/", host: "172.31.0.73"
とエラーログが表示されました。ご迷惑おかけしました。
回答1件
あなたの回答
tips
プレビュー