5、Nginx的日志文件配置与切割
1、 简介
生产环境中的服务器,因为访问日志文件增长速度非常快,日志太大会严重影响服务器效率,同时,为了方便对日志进行分析计算,须对日志文件进行定时切割。定时切割的方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。
2、 Nginx不支持想Apache一样使用cronlog来轮转日志,但是可以采用以下方式来实现日志文件的切割。

注:kill -user1 信号给Nginx注进程号,让Nginx重新生成一个新的日志文件/data/logs/access.log ,假如nginx.conf配置文件中使用了”pid /usr/local/nginx/nginx.pid”文件的存放路径,我们可以通过这个pid文件取得Nginx的主进程号:
Kill -USER1 `cat /usr/local/nginx/nginx.pid`
假如想每天定时切割日志,还需要借助crontab。我们可以写一个按天切割的日志,而后按年、月份目录存放日志爱 的shell脚本:
Vim /usr/local/nginx/sbin/cur_nginx_log.sh
输入以下内容并保存

另外配置crontab每天凌晨00:00定时执行这个脚本:
Crontab -e
输入以下内容并保存
00 00 * * * /bin/bash /usr/local/nginx/sbin/cur_nginx_log.sh
这个shell脚本和crontab配置主要实现的功能为:
假设今天的日期是2018-1-25,Nginx当前的日志文件为/data/logs/access.log,2018-1-25的00:00会执行cut_nginx_log.sh脚本,cut_nginx_log.sh脚本首先创立一个目录/data/logs/2018/01/,而后将/data/logs/access.log文件移动并重命名为/data/logs/2018/01/access_20180125.log ,在发送kill USER1 信号给Nginx主进程号,告诉Nginx重新生成一个/data/logs/access.log文件。2018-1-26日的日志记录在这个新生成的日志文件中,而/data/logs/2018/01/access_20180125.log 文件,就是2018-01-25的日志文件。
3、 喜欢的可以关注我哦,会持续分享的,下一章《6、log_format和access_log详解》
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 5、Nginx的日志文件配置与切割