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

Linux学习笔记4月16日任务_graceful

Linux学习笔记4月16日任务_expire_02

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

在ErrorLog "logs/111.com-error_log"这行下,CustomLog "logs/111.com-access_log" combined ,这行上,插入以下内容

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 //img为自定义,也可以写sb或aming;

CustomLog "logs/111.com-access_log" combined env=!img //!为非,不记录img所示文件;

插入保存后,重新加载配置文件

/usr/local/apache2.4/bin/apachectl graceful

/usr/local/apache2.4/bin/apachectl -t

创建目录,上传一个图片

mkdir /data/wwwroot/www.111.com/images

curl -x127.0.0.1:80 111.com/images/111.jpg

tail /usr/local/apache2.4/logs/111.com-access_log

测试curl -x127.0.0.1:80 111.com/alskdjflks.jpg -I

tail /usr/local/apache2.4/logs/111.com-access_log


11.23 访问日志切割

Linux学习笔记4月16日任务_graceful

Linux学习笔记4月16日任务_env=!img_04

#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

更改CustomLog "logs/111.com-access_log" combined env=!img 为:

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img

-l 以当前系统时间为基准;

logs/111.com-access_%Y%m%d.log,自定义日志文件名含年月日,每天生成一个日志文件,86400表示一天的时间秒数;

重新加载配置文件

/usr/local/apache2.4/bin/apachectl -t 

/usr/local/apache2.4/bin/apachectl graceful

ls /usr/local/apache2.4/logs/

访问测试

curl -x127.0.0.0:80 111.com/123.php

ls /usr/local/apache2.4/logs/


11.24 静态元素过期时间

Linux学习笔记4月16日任务_graceful

Linux学习笔记4月16日任务_expire_06

静态元素,就是图片及CSS等;

<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 hours"

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>

然后#/usr/local/apache2.4/bin/apachectl -t 

检查expires_module是否打开

#/usr/local/apache2.4/bin/apachectl -M |grep expire

若没有,则修改主配置文件

#vim /usr/local/apache2.4/conf/httpd.conf

找到这行#LoadModule expires_module modules/mod_expires.so,去掉#,使其开启;

然后#/usr/local/apache2.4/bin/apachectl graceful

检查expires_module是否打开#/usr/local/apache2.4/bin/apachectl -M |grep expaire

若打开,则刷新网页,看效果;或curl -x127.0.0.1:80 111.com/123.php.png1 -I


扩展 

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