我们在几台 Ubuntu 服务器 (16.04) 上运行 Nginx,总体来说一切正常。但是一段时间后 (几天),Nginx 停止将请求记录到日志 (/var/log/nginx/[host].log)。如果我重新启动 Nginx,日志记录将恢复/重新开始。但非常令人沮丧,因为我不知道日志记录何时停止,总之,我不想不记录流量。
想想可能是什么原因造成这种情况或如何解决?
Logrotate配置:
/var/log/nginx/*.log {
daily
missingok
rotate 14
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
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
答案1
前几天我遇到了这个问题:
看到这个答案后,我在我们的服务器上改了一下行:
invoke-rc.d nginx rotate
到:
invoke-rc.d nginx reload
相反,现在一切似乎都按预期运行了。不确定为什么这些 Ubuntu 和 Debian 机器的默认 logrorate 配置还没有这样做,但rotate
似乎没有按预期运行?