一直都是用的 Ubuntu,然后用 apt 安装的 Nginx。然后一直以为 Ubuntu 下的 Nginx 日志都是 Nginx 里的配置默认分割的。

今天发现日志都好小,每天分割导致很多小文件,感觉不爽,想把它关了。于是找啊找,找了半天没找到, Nginx 的日志配置只有两行:

##
# Logging Settings
##

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

郁闷的一笔,这不科学啊,Nginx 没道理把切割日志写进核心代码啊。。。

于是上网搜了搜,都是一堆讲如何切割 Nginx 日志的,尼玛,我是要关闭自动切割啊。。。

于是改为搜 “如何关闭 Nginx 日志切割”,果然,找到一篇帖子。。。

https://oneinstack.com/question/6063/

Nice!

赶紧看了一下,果然:

root@t1:~# cat /etc/logrotate.d/nginx 
/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
}

于是直接将该文件挪了个位置(相当于备份删除):

mv /etc/logrotate.d/nginx ~/bak/logrotate-nginx-conf.bak

完美~

标签: none

添加新评论