11.22 访问日志不记录静态文件
11.23 访问日志切割
11.24 静态元素过期时间
访问日志不记录静态文件
网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录在日志,否则日志会很快满!
把虚拟主机文件配置如下即可过滤掉这些元素。
SetEnvif Request_URI ".*\.gif$" etc
SetEnvif Request_URI ".*\.jpg$" etc
SetEnvif Request_URI ".*\.png$" etc
SetEnvif Request_URI ".*\.bmp$" etc
SetEnvif Request_URI ".*\.swf$" etc
SetEnvif Request_URI ".*\.js$" etc
SetEnvif Request_URI ".*\.css$" etc
CustomLog "logs/dummy-host.example.com-access_log" combined env=!etc
env=!etc 是除etc外的元素记录在日志(etc是可以自定义)
测试:curl -x127.0.0.1:80 www.etc.com/123.jpg
访问日志切割
日志会一天一天的增长,为了方便查看和管理磁盘,我们用到apache的一个工具进行日志切割。在虚拟机配置文件下修改:
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/etc.com-access_%y%m%d.log 86400" combined env=!img
指定工具rotatelogs -l
%y%m%d:设置日志显示年月日
86400:切割时间(即一天)
然后访问一次:
curl -x 127.0.0.1:80 www.etc.com -I
来查看有没有生成:
上面有个180529.log就是今天的日志了。
静态元素过期时间:
浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了!增加配置:
需要打开expiers_module模块
1.vim /usr/local/apache2.4/conf/httpd.conf—搜索expiers去掉#号
2.在虚拟机配置增加配置:
1.vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<IfModule mod_expires.c>
ExpiresActive on //打开功能开关
ExpiresByType image/gif "access plus 1 days" //设置文件类型,和缓存时间
ExpiresByType image/jpeg "access plus 1 days"
ExpiresByType image/png "access plus 24 hours" //也可以设置小时
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "access plus 1 days"
ExpiresByType application/javascript "access plus 1 days"
ExpiresByType application/x-shockwave-flash "access plus 1 days"
ExpiresDefault "now plus 0 min"
</IfModule>
/usr/local/apache2.4/bin/apachectl graceful //加载配置文件
4.查看expires是否加载
/usr/local/apache2.4/bin/apachectl -M| grep expires -i
5。测试
curl -x127.0.0.1:80 -I www.etc.com/123.jpg
上图 max-age=86400 就是缓存时间,还有显示图片缓存最后期限