天天看点

访问日志不记录静态文件

网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录.看的是请求哪个页面。因为不去做限制,每个请求都包含很多的js、css请求,那么每一个请求都会记录一条日志,日志文件会变的越来越大,不仅消耗磁盘空间还消耗磁盘io。

把虚拟主机配置文件改成如下: 

<VirtualHost :80>

DocumentRoot "/data/wwwroot/www.123.com"

ServerName www.123.com

ServerAlias 123.com

相当于定义了一个环境变量,如果访问的uri,后面是正则gif等等、结尾的做一个标记img

SetEnvIf Request_URI "..gif$" img

SetEnvIf Request_URI "..jpg$" img

SetEnvIf Request_URI "..png$" img

SetEnvIf Request_URI "..bmp$" img

SetEnvIf Request_URI "..swf$" img

SetEnvIf Request_URI "..js$" img

SetEnvIf Request_URI "..css$" img 

CustomLog "logs/123.com-access_log" combined env=!img //在这个上面一行定义。combined env=!img //定义什么样的日志才会记录到日志里(img除外的)

</VirtualHost>

重新加载配置文件 -t, graceful

mkdir /data/wwwroot/www.123.com/images //创建目录,并在这目录下上传一个图片

curl -x127.0.0.1:80 -I 123.com/images/123.jpg 

tail /usr/local/apache2.4/logs/123.com-access_log //日志不记录jpg结尾的日志

本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2052785,如需转载请自行联系原作者

继续阅读