11.22-11.24访问日志不记录静态文件,访问日志切割,静态元素过期时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.22-11.24访问日志不记录静态文件,访问日志切割,静态元素过期时间相关的知识,希望对你有一定的参考价值。

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

11.23 访问日志切割

11.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


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

技术分享图片

一个网站会有很多元素,尤其是图片、js、css等静态文件非常多,用户每请求一个页面就会访问诸多的图片,js等静态元素,这些元素的请求都会被记录在日志中。

如果一个站点访问量很大,那访问日志文件会慢慢的变大很大,从而影响服务器的的磁盘空间,甚至还会影响磁盘的读写速度。

这些静态元素记录在日志文件里意义不大,所以可以限制这些静态元素去记录日志,并且需要把日志按天归档,一天一个日志,这样也可以防止单个日志文件过大。


配置如下,在Customlog上面定义如下参数:


    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


技术分享图片

SetEnvIf Request_URI ".*\.gif$" img 

".*"\.gif 这种是正则表达式的表示方法,他们都是代指img文件。

解释:

先定义了一个img环境变量,把gif,jpg,png等等格式的文件归类到image里

env=!img 意思是把img以外的类型文件记录在日志里。


接着,

重新加载配置文件 -t, graceful


curl -x访问测试

#curl -x127.0.0.1:80 111.com/222 -I

#curl -x127.0.0.1:80 111.com/11.jpg -I

#curl -x127.0.0.1:80 111.com/111 -I

查看日志,jpg格式没被记录

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

127.0.0.1 - - [16/Apr/2018:17:51:08 +0800] "HEAD HTTP://111.com/222 HTTP/1.1" 404 - "-" "curl/7.29.0"

127.0.0.1 - - [16/Apr/2018:17:51:09 +0800] "HEAD HTTP://111.com/222 HTTP/1.1" 404 - "-" "curl/7.29.0"

127.0.0.1 - - [16/Apr/2018:17:51:41 +0800] "HEAD HTTP://111.com/111 HTTP/1.1" 404 - "-" "curl/7.29.0"


模拟图片测试

在本机上存图片

[[email protected] 111.com]# rz

[[email protected] 111.com]# ls

123.php  baidu.png  index.php


curl -x请求访问图片

[[email protected] 111.com]# curl -x127.0.0.1:80 111.com/baidu.png -I

HTTP/1.1 200 OK

Date: Mon, 16 Apr 2018 10:04:32 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.30

Last-Modified: Wed, 21 Jun 2017 01:14:24 GMT

ETag: "38bc-5526e16aefc00"

Accept-Ranges: bytes

Content-Length: 14524

Content-Type: image/png

浏览器访问图片

技术分享图片

查看访问日志文件,发现访问日志文件没有将baidu.png被记录在内。

生效成功。

把参数env=!img去掉,发现访问baidu.png,会将被记录在内。


以上是关于11.22-11.24访问日志不记录静态文件,访问日志切割,静态元素过期时间的主要内容,如果未能解决你的问题,请参考以下文章

四十访问日志不记录静态文件访问日志切割静态元素过期时间

访问日志不记录静态文件配置访问日志切割配置静态元素过期时间

访问日志不记录静态文件访问日志切割静态元素过期时间

11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间

访问日志不记录静态文件访问日志切割静态元素(文件)过期时间

访问日志不记录静态文件访问日志切割及配置静态元素过期时间