36°

nginx日志切割(Rotating Log-files)

日志切割介绍

1、日志切割(Rotating Log-files)的对象是什么?
切割的对象是位于nginx日志路径下的logs/access.log日志文件,access.log记录了web资源被访问的日志。

2、为什么要进行日志切割? 当开启日志记录时,只要有web资源访问就会有访问记录产生,access.log就会持续增长,所以需要进行日志切割, 让nginx重新写入新的access.log文件。

3、nginx access.log典型应用举例 好多公司为了改善用户体验及开展产品运营分析,都会通过对产品(web/pc/app)进行埋点并收集用户的行为数据, 从而为后续开展数据分析及用户运营工作提供数据支撑。一般非敏感埋点数据上报是通过http + nginx来实现,埋 点上报程序通过对web服务发起请求从而将收集到的数据通过请求参数进行上报,埋点数据就存入了access.log中。

切割原理

官方参考:https://nginx.org/en/docs/control.html#logs
具体步骤:
1、移动access.log文件
2、发送USR1信号给nginx master进程,master进程和work进程进行re-open log操作,以便打开并使用新的日志文件关闭old日志文件

切割脚本核心点

1、移动日志文件
mv access.log access_yyyymmddHHMIss.log

2、获取nginx master进程pid cat nginx.pid

3、发送USR1信号给master进程或者执行re-open命令 kill -USR1 cat ${nginx.pid} or nginx -s reopen

备注 nginx信号信息请参考https://nginx.org/en/docs/control.html

本文由【丁小屁】发布于开源中国,原文链接:https://my.oschina.net/dingyibo/blog/3159228

全部评论: 0

    我有话说: