配置文件:(红色img后缀的拷贝到服务器里面)css
<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 "logs/123.com-access_log" combined env=!img
</VirtualHost>apache
编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.confvim
从新加载配置文件 -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 =查看日志浏览器
修改完配置文件后,须要从新访问下网址才能生动生成日志文件,之后每到00:00就会自动生成以系统日期为名字的新的日志文件
编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf缓存
修改完后从新加载配置文件后,浏览器从新登录网址 就自动生成以日期命名的日志文件了服务器
能够查看下它的内容记录curl
编辑修改配置文件
编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf测试
检查并从新加载配置文件后,再检查下这个模块有没有加载 expaire,这里是没有加载这个模块的
/usr/local/apache2.4/bin/apachectl -M |grep expire
编辑主配置文件:vim /usr/local/apache2.4/conf/httpd.conf
expire模块前的#号去掉网站
而后从新加载配置文件,就有了expire这个模块url
模块有了就测试一下
用浏览器测试,打开图片网页,按ctrl+f5是强制刷新并清空缓存内容,这时候的状态码是200,还有一项过时时间是86400秒Cache-Control:max-age=86400
而后再按f5刷新,这时候状态码就变304了,由于这个图片已下载了,在缓存里有了
用curl访问测试查看到的开始时间与结束时间恰好是24小时
这个配置通常公司的网站都会设置这个过时时间,这个设置仍是挺实用的
扩展
apache日志记录代理IP以及真实客户端IP http://ask.apelearn.com/question/960
apache只记录指定URI的日志 http://ask.apelearn.com/question/981
apache日志记录客户端请求的域名 http://ask.apelearn.com/question/1037
apache 日志切割问题 http://ask.apelearn.com/question/566