12.10 Nginx访问日志
- 访问日志测试结果:
curl -x127.0.0.1:80 test.com -I
curl -x127.0.0.1:80 test2.com -I
cat /tmp/1.log

12.11 Nginx日志切割
- 如前所说,为了防止日志过大占用存储空间,我们需要将日志切割并定期清理.由于nginx没有自带切割工具,所以在此学习用shell脚本来实现日志切割.
-
自定义shell 脚本
vim /usr/local/sbin/nginx_log_rotate.sh #写入如下内容
#! /bin/bash
#假设nginx的日志存放路径为/tmp/
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`
- 执行日志切割脚本:
sh -x /usr/local/sbin/nginx_log_rotate.sh #加-x可以看到脚本执行过程

- 设定日志切割任务计划
crontab -e
-
加入如下一行:
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh

- 定期清理日志文件示例(将超过30天的日志文件删除):
find /tmp/ -name *.log-* -tpye f -mtime +30 | xargs rm
12.12 静态文件不记录日志和过期时间
- 设置静态文件不记录日志和过期时间的方法:
- 编辑虚拟主机配置文件
vim /usr/local/nginx/conf/vhost/test.com.conf
- 配置如下
location ~ .\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 7d;
access_log off;
}
location ~ .\.(js|css)$
{
expires 12h;
access_log off;
}
- /usr/local/nginx/sbin/nginx -t
- /usr/local/nginx/sbin/nginx -s reload
- 测试结果:
cd /data/wwwroot/test.com
vim 1.gif
vim 2.css
curl -x127.0.0.1:80 test.com/1.gif
curl -x127.0.0.1:80 test.com/2.css
curl -x127.0.0.1:80 test.com/index.html
curl -x127.0.0.1:80 test.com/2.cssasdfa
curl -x127.0.0.1:80 test.com/1.gif -I
cat /tmp/1.log

2018-3-14 Linux学习笔记
原文:http://blog.51cto.com/13517946/2086826