Nginx访问日志 Nginx日志切割 静态文件不记录日志和过期时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx访问日志 Nginx日志切割 静态文件不记录日志和过期时间相关的知识,希望对你有一定的参考价值。
一、nginx访问日志
#vim /usr/local/nginx/conf/nginx.conf
日志格式的名字combined_realip可以自定义,例如将它修改为aming,注意,这里定义为什么,后面引用的时候就定义为什么(nginx配置文件看见分号才是这一行结束)
#vim /usr/local/nginx/conf/vhost/test.com.conf //增加如下一行
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
#curl -x127.0.0.1:80 test4.com/admin/index.html/kdfgfdlk -I //访问报404代码
#curl -x127.0.0.1:80 test3.com/admin/index.html/kdfgfdlk -I //访问报301代码
#curl -x127.0.0.1:80 test2.com/admin/index.html/kdfgfdlk -I //访问报301代码
#cat /tmp/test.com.log //查看下日志文件
二、Nginx日志切割
#vim /usr/local/sbin/nginx_log_rotate.sh //自定义脚本nginx_log_rotate.sh
纠正下:将下图的logdir目录修改为 logdir="/tmp/"
#sh -x /usr/local/sbin/nginx_log_rotate.sh //执行脚本,加-x是为了查看脚本执行过程,如下图
#ls /tmp/ //可以查看下/tmp/目录下是否已经生成前一天的日志文件和当天的日志
#find /tmp/ -name .log- -type f -mtime +30 |xargs rm //删除30天以前的日志文件
#cat /usr/local/sbin/nginx_log_rotate.sh //日志切割脚本
#! /bin/bash
d=date -d "-1 day" +%Y%m%d
logdir="/tmp/"
nginx_pid="/usr/local/nginx/logs/nginx.pid"
cd $logdir
for log in ls *.log
do
mv $log $log-$d
done
/bin/kill -HUP cat $nginx_pid
写完脚本之后还需要创建任务计划:
#crontab -e //创建任务计划,写入如下内容:
0 0 * /bin/bash /usr/local/sbin/nginx_log_rotate.sh //每天凌晨0点执行这个脚本
三、静态文件不记录日志和过期时间
#vim /usr/local/nginx/conf/vhost/test.com.conf
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx -s reload
配置完成之后进行验证测试:
#cd /data/wwwroot/test.com/
#vim 1.gif //里面随便写一些内容做测试
#vim 2.js //里面随便写一些内容做测试
#curl -x127.0.0.1:80 test.com/1.gif
#curl -x127.0.0.1:80 test.com/2.js
#curl -x127.0.0.1:80 test.com/index.html
#cat /tmp/test.com.log //查看日志,可以看到日志没有记录访问1.gif和2.js的访问日志
#curl -x127.0.0.1:80 -I test.com/2.js //-I看下过期时间
以上是关于Nginx访问日志 Nginx日志切割 静态文件不记录日志和过期时间的主要内容,如果未能解决你的问题,请参考以下文章
12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期
12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期