質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

2923閲覧

Nginxのログが記録されなくなる

salud

総合スコア215

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/09/09 01:45

編集2019/09/09 04:20

EC2のサーバーインスタンス上に、Nginx + puma + Rails の環境構築を行い、
ファイルサーバー(数GBのディレクトリのzip圧縮 → ダウンロード)のための
システムを運用しています。

Nginxの再起動直後などは、特に問題がないのですが、しばらくすると
アクセスログ・エラーログ共に0バイトのまま記録されなくなってしまいます。

原因や、可能性のありそうな確認ポイントなど、
ご存知でしたら、ご教示いただけないでしょうか。

よろしくお願い申し上げます。

# ls -lha /var/log/nginx/ 合計 132K drwx------ 2 nginx nginx 4.0K 8月 9 03:13 . drwxr-xr-x 10 root root 4.0K 9月 9 03:33 .. -rw-r--r-- 1 admin nginx 0 8月 9 03:13 access.log -rw-r--r-- 1 admin nginx 1.2K 4月 12 02:24 access.log-20190412.gz -rw-r--r-- 1 admin nginx 3.6K 4月 13 03:10 access.log-20190413.gz -rw-r--r-- 1 admin nginx 4.7K 4月 19 02:59 access.log-20190419.gz -rw-r--r-- 1 admin nginx 5.6K 5月 11 02:31 access.log-20190511.gz -rw-r--r-- 1 admin nginx 5.7K 6月 11 02:51 access.log-20190611.gz -rw-r--r-- 1 admin nginx 6.2K 6月 13 03:25 access.log-20190613.gz -rw-r--r-- 1 admin nginx 9.5K 6月 15 03:11 access.log-20190615.gz -rw-r--r-- 1 admin nginx 4.4K 6月 18 02:40 access.log-20190618.gz -rw-r--r-- 1 admin nginx 13K 8月 6 03:39 access.log-20190806.gz -rw-r--r-- 1 admin nginx 3.5K 8月 9 02:20 access.log-20190809.gz -rw-r--r-- 1 admin nginx 0 8月 9 03:13 error.log -rw-r--r-- 1 admin nginx 159 4月 10 03:27 error.log-20190411.gz -rw-r--r-- 1 admin nginx 159 4月 12 03:08 error.log-20190413.gz -rw-r--r-- 1 admin nginx 1.1K 4月 18 10:56 error.log-20190419.gz -rw-r--r-- 1 admin nginx 156 5月 11 03:36 error.log-20190512.gz -rw-r--r-- 1 admin nginx 1.1K 6月 10 14:57 error.log-20190611.gz -rw-r--r-- 1 admin nginx 1.1K 6月 12 18:59 error.log-20190613.gz -rw-r--r-- 1 admin nginx 1.5K 6月 14 20:41 error.log-20190615.gz -rw-r--r-- 1 admin nginx 667 6月 17 19:21 error.log-20190618.gz -rw-r--r-- 1 admin nginx 5.4K 8月 6 03:39 error.log-20190806.gz -rw-r--r-- 1 admin nginx 804 8月 8 19:16 error.log-20190809.gz

 
追記: Nginxのログローテート設定です。

/var/log/nginx/*log { create 0644 nginx nginx daily rotate 10 missingok notifempty compress sharedscripts postrotate /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true endscript }

 

[質問1] Nginxのプロセスが2つも動いているのはおかしいでしょうか?
[質問2] Max open files になっているのが原因っぽいですが、Nginxのログすら出力されなくなってしまうのでしょうか?

# ps ax | grep nginx | grep worker 4427 ? S 0:00 nginx: worker process 4428 ? S 0:26 nginx: worker process # cat /proc/4427/limits | grep 'open files' Max open files 1024 4096 files # cat /proc/4428/limits | grep 'open files' Max open files 1024 4096 files

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

postrotate が正しく実行されていないか、compress のタイミングが悪いのかもしれません。

postrotate について

/run/nginx.pid ファイルが存在し、Nginx の master プロセスの PID になっていますでしょうか?
また、lsof -p (NginxのプロセスID) | grep access.log で、実際に open しているログファイル名を確認ください。
ローテートされた古いログファイル名になっていないでしょうか。

compress について

logrotate の設定で、compress に加え delaycompress を設定すると、うまくいきませんでしょうか?

ご質問について

[質問1] Nginxのプロセスが2つも動いているのはおかしいでしょうか?

設定によります。
worker_processes 2; と設定しているのですよね?

[質問2] Max open files になっているのが原因っぽいですが、Nginxのログすら出力されなくなってしまうのでしょうか?

それは、ulimit の項目と Soft Limit, Hard Limit の設定値を表示しているだけで、制限を越えていることを示すものではありません。
実際に制限を越えたのであれば、OS のログまたは Nginx のログにその旨出力されると思います。

投稿2019/09/10 14:55

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ログローテートの後から、ログファイルに追記されてないような感じですね。

ログローテート時のログには、何かメッセージが記録されていたりしないでしょうか?

また、ログディレクトリの所有者、パーミッションとログファイルの所有者、パーミッションの関係も気になります。

nginx のユーザーやログローテートの設定はどのようになっていますか?

投稿2019/09/09 03:49

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

salud

2019/09/09 04:10

ご回答ありがとうございます。 access.log-20190809.gz を確認しましたところ、確かに 09/Aug/2019:02:20:45 +0900 までログが残っていたので、ログローテートが絡んでいる(ログローテートの後から〜)という可能性は高そうですね。。 取り急ぎ、質問欄にログローテートの設定を追記させていただきました。 ログローテート時のログとは、Nginxのログでしょうか?ログローテートも実行ログを吐いているのでしょうか? 所有者やパーミッションについてですが、再起動するとしばらくは書き出されるというところも気になっています。(全く出ない訳ではない) ので、このあたりも絡んでいるのかな?と気にはなっています... http://www.1x1.jp/blog/2013/02/nginx_too_many_open_files_error.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問