5月30日任务

11.22 访问日志不记录静态文件
11.23 访问日志切割

11.24 静态元素过期时间

访问日志不记录静态文件


F12可以查看元素,点到Network再F5刷新网页发现加载以下内容,都会被记录到访问日志中


像.png等等图片无需保存到日志中,防止日志文件过大,如下图:

把所有带gif,jpg等等定义为img,Log最后过滤不含img的日志 env=!img


-t, graceful让配置生效


发现jpg,png的访问没有被记录,除此之外的jpg1被写入日志

rz上传一张图片测试

图片可以访问成功:


在Linux中,并没有记录,因为做了标记限制png图片不被写入日志中


如果把env=!img去掉,则会被记录,如下图


访问日志切割


rotateslog是httpd自带的切割工具,加入虚拟主机配置文件中,检查语法并重新加载


 并重新命名log 加上%Y%m%d,默认以一天为例,86400单位为秒,即1天


用curl命令,让其记录到访问日志中,如下图,Logs目录下出现以年月日为命名的新日志,cat后正好时之前curl访问的记录 (注意此处不可以访问图片,因为已经被作为静态元素被过滤掉了)


总结:日志切割方便管理和分析,如分析两天前的日志数量可以直接调取当天的.log文件,同时注意需要加一个任务计划指定删除超过N天的老旧log,以保证磁盘空间一直处于有空间状态

静态元素过期时间


通常,用户在访问一个网站时会把静态元素缓存到本地,一遍下一次访问不用再远程下载, 节省带宽,增加访问速度,而缺点是没有定义缓存的清除时间,长久会造成缓存垃圾的堆积;这时候可以用expires.c模块实现自定义删除缓存的时间周期,如下图所示:

把原有的.jpg改名后重新访问该图片,F12发现返回的状态码是200,再次刷新变成304(not modified),表示此图片第一次访问时已被缓存到本地,第二次访问无需远程下载(修改)



expires模块打开&定义




测试:

先ctl +F5 (强制刷新,把本地缓存清空)

①浏览器中:回到200 (cache max规定最大为1天)


然后再刷新回到304


②curl 


如果把expires模块注释掉,如下图,cache control定义的时间消失


扩展 
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值