美文网首页
17.11.01 用cronolog让Nginx每日生成日志

17.11.01 用cronolog让Nginx每日生成日志

作者: 薛定谔的猴子 | 来源:发表于2017-11-01 18:05 被阅读185次

问题:nginx会按照nginx.conf的配置生成access.log和error.log,随着访问量的增长,日志文件会越来越大,既会影响访问的速度(写入日志时间延长),也会增加查找日志的难度,解决方案如下

下载cronolog

链接: https://pan.baidu.com/s/1bo3QDx9 密码: dqje

安装cronolog

1.解压缩
# tar zxvf cronolog-1.6.2.tar.gz
2.进入安装文件所在目录
# cd cronolog-1.6.2
3.运行安装
# ./configure
# make
# make install
4.查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
一般情况下显示为:/usr/local/sbin/cronolog

使用cronolog

1、创建命名管道

mkfifo /usr/local/nginx/access_log.log

2、配置cronolog,日期按天

nohup cat /usr/local/nginx/access_log.log | /usr/local/sbin/cronolog /usr/local/nginx/logs/access-%Y-%m-%d.log &

3、修改Nginx的配置文件nginx.conf

#http内,server外

log_format post_tracking '{\"ip\":\"$remote_addr\",\"request\":\"$request\",\"body\":\"$request_body\",\"time\":\"$time_local\",\"status\":\"$status\"}';

#server内
access_log /usr/local/nginx/access_log.log post_tracking;

3、重启Nginx

/usr/local/etc/rc.d/nginx restart

备注
若原本 access.log过大,可以先备份后删除,然后再按照上述步骤执行

相关文章

网友评论

      本文标题:17.11.01 用cronolog让Nginx每日生成日志

      本文链接:https://www.haomeiwen.com/subject/invgpxtx.html