Nginx 未记录(需要重启)

Nginx 未记录(需要重启)

我们在几台 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

前几天我遇到了这个问题:

https://unix.stackexchange.com/questions/259091/nginx-log-rotation-doesnt-seem-to-be-working-correctly

看到这个答案后,我在我们的服务器上改了一下行:

invoke-rc.d nginx rotate

到:

invoke-rc.d nginx reload

相反,现在一切似乎都按预期运行了。不确定为什么这些 Ubuntu 和 Debian 机器的默认 logrorate 配置还没有这样做,但rotate似乎没有按预期运行?

相关内容