发布于2026-07-26 阅读(0)
扫一扫,手机访问
说到Nginx日志轮转,最常用的方式就是借助 logrotate 这个工具。它就像一个自动化的日志管家,能帮你压缩、删除旧日志,还能生成新的日志文件,省去手动处理的麻烦。下面就是配置Nginx日志轮转的具体步骤,跟着走一遍就行。

先确认系统上有没有装 logrotate。大多数Linux发行版默认都预装了,要是没有,用包管理器(比如 apt-get 或 yum)装一下就行,几秒钟搞定。
接下来,给Nginx单独创建一个logrotate配置文件。在 /etc/logrotate.d/ 目录下新建一个叫 nginx 的文件:
sudo touch /etc/logrotate.d/nginx用文本编辑器打开这个文件,把下面的配置贴进去:
/var/log/nginx/*.log {
daily
missingok
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}
这里简单解释一下每个选项的作用:
/var/log/nginx/*.log:指定要轮转的日志文件,匹配这个路径下所有 .log 结尾的文件。daily:每天轮转一次,你也可以按需改成 weekly 或 monthly。missingok:如果日志文件不存在,直接跳过,不会报错。compress:轮转后把旧日志压缩成 .gz 格式,节省磁盘空间。delaycompress:延迟压缩——这次轮转后不立刻压缩,等下一次轮转时才压缩上一个版本。这样做的好处是,如果日志还在被写入,不会影响后续操作。notifempty:如果日志文件是空的,就不做轮转,避免生成一堆空文件。create 0640 www-data adm:轮转后创建新的日志文件,权限设为 0640,属主为 www-data,属组为 adm。这个权限和用户组可以根据你的Nginx配置调整。sharedscripts:如果有多个日志文件匹配,只执行一次 postrotate 脚本。postrotate 后面的脚本:轮转完成后,向Nginx主进程发送 USR1 信号,通知它重新打开日志文件,这样新的日志就能继续写入新文件了。保存并关闭文件,配置就算完成了。
最后,测试一下配置是否正确:
sudo logrotate -f /etc/logrotate.d/nginx
这个命令会强制触发一次日志轮转。如果一切正常,你会看到旧日志被压缩成 .gz 文件,同时生成一个新的空日志文件。
至此,Nginx日志轮转就配置好了。之后logrotate会根据你设定的频率自动运行,完全不用操心。当然,如果需要手动触发,随时可以用 sudo logrotate -f /etc/logrotate.d/nginx 来强制执行一次。整个流程清晰简洁,掌握了这个技巧,日志管理就再也不是什么麻烦事了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8