5、Nginx的日志文件配置与切割

  • 时间:2018-11-22 22:44 作者:IT那达慕 来源:IT那达慕 阅读:121
  • 扫一扫,手机访问
摘要:1、 简介生产环境中的服务器,因为访问日志文件增长速度非常快,日志太大会严重影响服务器效率,同时,为了方便对日志进行分析计算,须对日志文件进行定时切割。定时切割的方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。2、 Nginx不支持想Apache一样使用cronlog来轮转日志,但是可以

1、 简介

生产环境中的服务器,因为访问日志文件增长速度非常快,日志太大会严重影响服务器效率,同时,为了方便对日志进行分析计算,须对日志文件进行定时切割。定时切割的方式有按月切割、按天切割、按小时切割等。最常用的是按天切割。

2、 Nginx不支持想Apache一样使用cronlog来轮转日志,但是可以采用以下方式来实现日志文件的切割。

5、Nginx的日志文件配置与切割

注: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

输入以下内容并保存

5、Nginx的日志文件配置与切割

另外配置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详解》

  • 全部评论(0)
最新发布的资讯信息
【系统环境|windows】Axios 取消重复请求(2020-11-08 07:00)
【系统环境|windows】熬了一晚上,小白用Python写了一个股票提示系统(2020-11-08 07:00)
【系统环境|windows】2020要想成为一名专业的web前台开发程序员,需要学习什么?(2020-11-08 06:35)
【系统环境|windows】前台面试每日 3+1 —— 第546天(2020-11-08 06:34)
【系统环境|windows】聊聊前台工程师的职业发展 (纯干货)(2020-11-08 06:34)
【系统环境|windows】浅谈OAuth 2.0基本原理(2020-11-08 06:34)
【系统环境|windows】程序员初入职场避坑指南(2020-11-08 06:34)
【系统环境|windows】python的绘图利器--海龟绘图turtle(2020-11-08 06:33)
【系统环境|windows】pyinstaller打包结果瘦身(2020-11-08 06:33)
【系统环境|windows】前台面试每日 3+1 —— 第518天(2020-11-08 06:33)
手机二维码手机访问领取大礼包
返回顶部