访问日志不记录静态文件:
配置文件:(红色img后缀的拷贝到服务器里面)
<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>编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
重新加载配置文件 -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修改完后重新加载配置文件后,浏览器重新登陆网址 就自动生成以日期命名的日志文件了
可以查看下它的内容记录
11.24 静态元素过期时间:
编辑修改配置文件
编辑虚拟配置文件: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这个模块
模块有了就测试一下
用浏览器测试,打开图片网页,按ctrl+f5是强制刷新并清空缓存内容,这时候的状态码是200,还有一项过期时间是86400秒Cache-Control:max-age=86400然后再按f5刷新,这时候状态码就变304了,因为这个图片已下载了,在缓存里有了
用curl访问测试查看到的开始时间与结束时间刚好是24小时
这个配置一般公司的网站都会设置这个过期时间,这个设置还是挺实用的
扩展 apache日志记录代理IP以及真实客户端IP apache只记录指定URI的日志 apache日志记录客户端请求的域名 apache 日志切割问题