LAMP架构十( Apache访问日志不记录静态文件)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sj349781478/article/details/84587441

十、访问日志不记录静态文件

        网站的页面会有很多元素,尤其是图片,js,css,等静态元素非常多,每一次访问都会访问大量的静态元素,这些元素请求都会被记录在日志中,因此日志的增长速度非常快,然而记录静态元素的意义并不大,因此我们需要限制静态元素的记录,并且将日志进行切割,并按天归档整理,防止单个日志文件过大。

        配置访问日志不记录静态文件:

[root@global ~]# vim /etc/httpd/conf.d/virtual.conf
虚拟主机1增加日志记录规则:
<VirtualHost *:8090>                                                                              8090是http的服务端口,不用改。
 ServerAdmin [email protected]                                                      网站管理员邮箱,设置成自己的网站
 DocumentRoot "/var/www/html/a"                                                          虚拟主机根目录用于存放网站程序
    ServerName a.com                                                                             网站名,域名                  
    ServerAlias www.test.com                                                                   网站别名,域名别名,可写多个要用空格隔开 
    <IfModule mod_rewrite.c>                                                                   需要mod_rewrite模块支持
        RewriteEngine on                                                                            打开rewrite功能
        RewriteCond %{HTTP_HOST} !^a.com$                                      将非a.com的域名请求跳转至此
        RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]                   状态码301永久跳转,L=last,跳一次
                                            定义跳转规则,将以^/(.*)$开头结尾的域名请求跳转,$1代表^/(.*)$
    </IfModule>
    ErrorLog "logs/a.com-error_log"                                                 错误日志保存路径
    SetEnvIf Request_URI ".*\.gif$" img                                            日志记录规则,变量表示.gif文件
    SetEnvIf Request_URI ".*\.jpg$" img                                           日志记录规则,变量表示.jpg文件
    SetEnvIf Request_URI ".*\.png$" img                                          日志记录规则,变量表示.png文件
    SetEnvIf Request_URI ".*\.bmp$" img                                         日志记录规则,变量表示.bmp文件
    SetEnvIf Request_URI ".*\.swf$" img                                           日志记录规则,变量表示.swf文件
    SetEnvIf Request_URI ".*\.js$" img                                              日志记录规则,变量表示.js文件
    SetEnvIf Request_URI ".*\.css$" img                                           日志记录规则,变量表示.cs文件
    CustomLog "logs/a.com-access_log" combined env=!img 
</VirtualHost>                                   !取反,不记录变量所表示的文件访问记录,访问日志保存路径
 

测试语法并重新加载配置
[root@global conf.d]# /usr/sbin/apachectl -t
Syntax OK
[root@global conf.d]# /usr/sbin/apachectl  graceful

创建目录,创建test.jpg图片,并测试访问
[root@global ~]# mkdir //var/www/html/a/images/
[root@global ~]# touch /var/www/html/a/images/test.jpg
[root@global ~]# curl -x127.0.0.1:80 -I a.com/images/test.jpg
 

修改前后日志对比,修改后关于访问jpg的日志没有被记录。

修改前

修改后

扫描二维码关注公众号,回复: 4473538 查看本文章

猜你喜欢

转载自blog.csdn.net/sj349781478/article/details/84587441