11.24 静态元素过期时间
11.22 访问日志不记录静态文件
打开一个网页(这里用的是firefox),按下F12就可以看到网页的有关信息
选择网络项,F5刷新网页就可以看到如下信息
这里面的每个图片都是一个请求,如果都记录到日志里,既占用磁盘io,又占用磁盘空间,读起来又没什么用,所以有必要把这些静态文件排除掉
具体步骤
1.编辑配置文件
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
在Errorlog 下面添加一下几行内容
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 //img是一个标记
CustomLog "logs/111.com-access_log" combined env=!img //记录非img的日志
检查语法重新加载
#/usr/local/apache2.4/bin/apachectl -t
# /usr/local/apache2.4/bin/apachectl graceful
可以看到日志里并未记录访问jpg的信息,而记录了jpg1的信息
上传一个图片来试验一下
#rz //上传电脑上的图片
代码200正常访问,但日志没有记录
11.23访问日志切割
日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除酒店日志文件
1.编辑虚拟主机配置文件,改成如下:
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_log_%Y%m%d 86400"
rotatelogs是apache自带的一个日志切割工具
-l 是以当前系统的时间(CST)为基准,不指定则以GMT时间为基准
logs/111.com-access_log_%Y%m%d是指定日志的名字,根据时间日期自动的变化
86400一天的秒数,也就是说每天切割一次
2.修改完配置,检查语法重新加载
# /usr/local/apache2.4/bin/apachectl -t
# /usr/local/apache2.4/bin/apachectl graceful
3.访问一下网页
会看到日志文件夹中多了一个111.com-access_log_20180531文件
# ls /usr/local/apache2.4/logs/
11.24静态元素过期时间
浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了
可以节省服务器带宽,又可以提高用户的访问速度。但是如果网页改动了一些信息,从缓存中加载就有可能得不到最新的内容。
1.编辑配置文件,增加以下内容
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
2.检查语法重新加载
3.检查一下,expaire模块是否打开
# /usr/local/apache2.4/bin/apachectl -M |grep expire //这里没有匹配到
# vim /usr/local/apache2.4/conf/httpd.conf //编辑主配置文件,去掉注释
这就加载到expires模块了,然后检查语法,重新加载。
4.试验
打开网页,F12 可以看到该文件过期时间, GMT时间(格林尼治标准时间),过期时间正好24小时
PS:CTRL+F5强制刷新,从服务器重新加载页面