access.logの代わりにaccess.log.1にnginxロギング、logrotateが失敗しましたか?
/var/log/nginx/access.logへのアクセスとエラーを/var/log/nginx/errors.logに記録するように設定されたnginxインスタンスがありますが、logrotateが毎週実行されるとすぐにファイルが移動します*。初めてこれに気づいたとき、ログのローテーションから3週間が経過し、ログが巨大になっていました。実行kill -HUP `cat /run/nginx.pid`すると、nginxは再び適切な場所へのロギングを開始しましたが、問題は次の週に再び始まりました。 これがイライラするより重要な理由は、rsyslogを介してLogglyにアップロードするように設定されたログがあり、nginxがファイルへのロギングを停止するとrsyslogポーリングが発生し、アップロードが停止し、アラートが表示されないことです。 私はそれがnginxを再起動するか、設定をリロードすることと関係があるのではないかと疑っています。実行しようとしましたkill -USR1 `cat /run/nginx.pid`が、実行するまでファイルは間違った場所に記録され続けましたがkill -HUP `cat /run/nginx.pid`、問題は解決しません。 何が起こっているのでしょうか?私はlogrotateまたはnginxの管理の専門家ではないことを認めていますが、私のGoogleはこれに関して私に失敗しました。 ここに私のnginx logrotateスクリプトがあります。他に見たいものがあるかどうか教えてください。nginx.confには、出力場所の定義以外に、ロギングに関して特別なものはありません。 /var/log/nginx/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 0640 www-data adm sharedscripts prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi \ endscript postrotate [ -s /run/nginx.pid ] && kill …