Nginx访问日志
- 日志格式
- vim /usr/local/nginx/conf/nginx.conf //搜索log_format
- 打开主配置文件除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加
- access_log /tmp/1.log combined_realip;
- 这里的combined_realip就是在nginx.conf中定义的日志格式名字 -t && -s reload
- curl -x127.0.0.1:80 test.com -I
- cat /tmp/1.log
切换到cd /usr/local/nginx/conf/vhost/目录下
打开主配置文件,搜索/log_format
combined_realip 日志格式的名字,后面要调用。
定义test.com.conf日志格式,增加一行内容如下,保存退出
检查配置文件是否有语法错误,并重新加载
访问测试
查看日志
Nginx日志切割
- 自定义shell 脚本
- vim /usr/local/sbin/nginx_log_rotate.sh//写入如下内容
#! /bin/bash
## 假设nginx的日志存放路径为/data/logs/
d=`date -d "-1 day" +%Y%m%d`
logdir="/data/logs"
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`
- 任务计划
- 0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh
首先创建一个shell脚本,以后所有的shell脚本都放入到/usr/local/sbin/目录下
d=`date -d "-1 day" +%Y%m%d`,定义切割时间(是前一天的)
logdir="/tmp/" ,指定要切割的日志路径
nginx_pid="/usr/local/nginx/logs/nginx.pid",调用pid,目的是执行命令:/bin/kill -HUP `cat $nginx_pid`
for log in `ls *.log` ;do mv $log $log-$d; done 进行循环
/bin/kill -HUP `cat $nginx_pid`,生成新的日志文件
执行shell脚本,-x选项目的是显示脚本执行过程
查看日志切割文件
清理30天以前的日志文件
添加一个任务计划(测试不保存)
静态文件不记录日志和过期时间
打开配置文件,添加内容如下,保存退出
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ ,匹配文件类型
expires 7d,过期时间为7天
检查配置文件是否有语法错误,并重新加载
测试,访问以gif和js结尾的文件不记录日志
测试过期时间(如果注释掉expires,则不会出现)