问题: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过大,可以先备份后删除,然后再按照上述步骤执行
网友评论