标签:aaaaa not ext setenv apache2 日志 火狐浏览器 配置文件 directory
11.22 访问日志不记录静态文件
查看访问网站包含的元素:
一般chrome或火狐浏览器可以查看
用火狐选择如图web开发者:
查看后可以发现网页的元素有很多,每一行内容都是一个元素,一般情况下会为以上每一个请求记录访问日志,但很多日志记录是没有必要记录的
网页上大多数元素为静态文件,如css、js、图片等,这些元素可以不用记录
配置:
[root@hyc-01-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
…
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com
<Directory /data/wwwroot/111.com/*>
AllowOverride AuthConfig
AuthName "111.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
</IfModule>
ErrorLog "logs/111.com-error_log"
SetEnvIf Request_URI ".*\.gif$" img 定义了变量(环境):将以.gif结尾的元素标记为img
SetEnvIf Request_URI ".*\.jpg$" img 以下包括本行均标记为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/111.com-access_log" combined env=!img
Img除外的日志会被记录到日志文件中
</VirtualHost>
测试:
加载配置前:
[root@hyc-01-01 logs]# curl -x 127.0.0.1:80 111.com/kasjdj.jpg -I
HTTP/1.1 404 Not Found
Date: Sun, 05 Aug 2018 14:30:47 GMT
Server: Apache/2.4.34 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1
[root@hyc-01-01 logs]# tail -1 111.com-access_log
127.0.0.1 - - [05/Aug/2018:22:26:00 +0800] "HEAD HTTP://111.com/kasjdj.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
关于kasjdj.jpg的访问日志被记录
加载配置后:
[root@hyc-01-01 logs]# curl -x 127.0.0.1:80 111.com/aaaaaaaaaaa.jpg -I
HTTP/1.1 404 Not Found
Date: Sun, 05 Aug 2018 14:32:35 GMT
Server: Apache/2.4.34 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1
[root@hyc-01-01 logs]# tail -1 111.com-access_log
127.0.0.1 - - [05/Aug/2018:22:26:00 +0800] "HEAD HTTP://111.com/kasjdj.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
关于aaaaaaaaaaa.jpg的访问日志未被记录
[root@hyc-01-01 logs]# tail -1 111.com-access_log
127.0.0.1 - - [05/Aug/2018:22:26:00 +0800] "HEAD HTTP://111.com/kasjdj.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
[root@hyc-01-01 logs]# curl -x 127.0.0.1:80 111.com/aaaaaaaaaaa.jpg1 -I
HTTP/1.1 404 Not Found
Date: Sun, 05 Aug 2018 14:42:58 GMT
Server: Apache/2.4.34 (Unix) PHP/7.1.6
Content-Type: text/html; charset=iso-8859-1
[root@hyc-01-01 logs]# tail -1 111.com-access_log
127.0.0.1 - - [05/Aug/2018:22:42:58 +0800] "HEAD HTTP://111.com/aaaaaaaaaaa.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"
aaaaaaaaaaa.jpg1未匹配配置文件中的以jpg结尾,所以被记录
大多数静态文件的日志没有意义,并且记录会消耗磁盘空间和磁盘io,所以需要对这类请求的日志记录做限制
标签:aaaaa not ext setenv apache2 日志 火狐浏览器 配置文件 directory
原文地址:http://blog.51cto.com/12216458/2155059