访问日志不记录静态文件;访问日志切割;静态图片等元素过期时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问日志不记录静态文件;访问日志切割;静态图片等元素过期时间相关的知识,希望对你有一定的参考价值。
扩展
apache日志记录代理IP以及真实客户端IP http://www.lishiming.net/thread-960-1-1.html
apache只记录指定URI的日志 http://www.lishiming.net/thread-981-1-1.html
apache日志记录客户端请求的域名 http://www.lishiming.net/thread-1037-1-1.html
apache 日志切割问题 http://www.lishiming.net/thread-566-1-1.html
11.22 访问日志不记录静态文件
网站大多元素为静态文件如图片、css、js等这些元素可以不用记录
1. 编辑虚拟机配置文件增加访问日志不记录图片静态文件等规则
[[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
增加内容(针对访问日志过滤掉图片访问)
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/111.com-access_log" combined env=!img
2. 检测虚拟机配置文件是否有错误
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
3. 启动apache2.4/httpd
[[email protected] apache2.4]# /usr/local/apache2.4/bin/apachectl start
4. 重新加载配置文件(不会重启服务)
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful
5. 进入111网站目录下
[[email protected] ~]# cd /data/wwwroot/111.com
6. 从window上传一张图片到当前目录下
[[email protected] 111.com]# rz
7. curl命令访问111.com下图片名称地址可以通(200 OK)
[[email protected] 111.com]# curl -x127.0.0.1:80 111.com/clipboard.png -I
8. 在windows游览器中不断刷新访问111.com/clipboard.png(上传图片地址)
9. 查看访问日志是没有看到有.png格式的访问日志这就是被过滤掉了不记录
[[email protected] 111.com]# tail /usr/local/apache2.4/logs/111.com-access_log
11.23 访问日志切割
日志一直记录总有一天会把整个磁盘占满
所以有必要让它自动切割并删除老的日志文件
1. 编辑虚拟机配置文件把日志规定为以每天日期为一个访问日志
[[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
访问日志增加更改如下规则(设定日志切割成多个文件)
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img
2. 检测虚拟机配置文件是否有错误
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
3. 重新加载配置文件(不会重启服务)
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful
4. 用curl命令访问111.com网站下的123.php文件
[[email protected] ~]# curl -x127.0.0.1:80 111.com/123.php
5. 列出 apache访问日志目录下全部日志(可看到以日期命名的日志)
[[email protected] ~]# ls /usr/local/apache2.4/logs/
6. 查看刚刚访问后生成的日期命名的日志内容(刚刚访问123.php)
[[email protected] ~]# cat /usr/local/apache2.4/logs/123.php/111.com-access_20170801.log
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. 检测虚拟机配置文件是否有错误
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
3. 重新加载配置文件(不会重启服务)
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful
4. 编辑apache主配置打开含有expires这行(删除这行前面的#号)
5. 搜索apacheexpire模块是否打开
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M |grep expire
6. 用curl命令访问111.com目录下的静态图片clipboard.php:
(显示了当前访问时间和缓存静态过期时间过期就会清理掉了)
[[email protected] ~]# curl -x127.0.0.1:80 111.com/clipboard.png -I
本文出自 “主内安详” 博客,请务必保留此出处http://zhuneianxiang.blog.51cto.com/11621252/1952638
以上是关于访问日志不记录静态文件;访问日志切割;静态图片等元素过期时间的主要内容,如果未能解决你的问题,请参考以下文章
4.16访问日志不记录静态文件,访问日志切割以及静态元素过期时间