<VirtualHost *:80>javascript
DocumentRoot "/data/wwwroot/www.123.com"css
ServerName www.123.comjava
ServerAlias 123.comapache
SetEnvIf Request_URI ".*\.gif$" imgvim
SetEnvIf Request_URI ".*\.jpg$" img浏览器
SetEnvIf Request_URI ".*\.png$" img缓存
SetEnvIf Request_URI ".*\.bmp$" imgapp
SetEnvIf Request_URI ".*\.swf$" imgcurl
SetEnvIf Request_URI ".*\.js$" img工具
SetEnvIf Request_URI ".*\.css$" img
CustomLog "logs/123.com-access_log" combined env=!img
</VirtualHost>
编辑虚拟主机配置文件vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
将全部的符合访问图片的请求,都不会记录在日志里
在保存配置文件以后,加载配置文件
作个访问测试,以jpg1结尾会记录在日志里的,而jpg,png等是不记录在日志里
模拟上传一张图片并访问
切换到/data/wwwroot/111.com目录下,上传一张图片
请求访问图片,在浏览器里能够访问图片
而在日志里没有发现访问百度图片的记录
若是修改虚拟主机配置文件,删掉env=!img,刷新浏览器或者curl访问图片,日志又会记录
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com ServerAlias 123.com
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 "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.log 86400" combined env=!img
</VirtualHost>
打开配置文件,更改CustomLog,# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
rotatelogs是Apache切割日志的工具;-l表示使用系统时间(CST),若是不加-l选项,将以默认的时间(UTC)为准;日志文件名“%Y%m%d”表示年月日;时间间隔设定为一天(86400s)
检查配置文件语法,并从新加载配置文件
而后再curl访问,就会生成一个以日期为后缀的新的日志文件
在之后的凌晨0点的时候,就会生成一个新的日志;另外写个任务计划,超过一个月的日志要删除,防止磁盘写满
增长配置
<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>
静态文件:如图片文件、css、js文件等
打开配置文件# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,增长配置
检查是否存在语法错误,查看expire模块是否打开,会发现expire模块没有打开
编辑主配置文件,搜索/expire,打开expire模块(去掉注释符)
加载配置文件,查看expire模块
按ctrl+F5能够强制刷新,把浏览器本地的缓存清空
用curl访问图片,mv baidu.png qq.png
注:公司的网站通常都会设置过时时间,比较好用