首页 > 技术文章 > Apache配置 5.访问日志不记录静态文件

lsy579 2021-03-09 09:17 原文

介绍:项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。

1. 配置

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

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/usr/local/apache2.4/docs/www.111.com"

    ServerName www.111.com

    ServerAlias 111.com

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" common

</VirtualHost>

上传图片文件到image中

# cd /usr/local/apache2.4/docs/www.111.com/

# mkdir image

# ll image/linux.jpg

 

检查配置信息

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

Syntax OK

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

# curl -xlocalhost:80 www.111.com/image/linux.jpg -I

 

 

查看日志

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

 

 

 

打开网页访问111.com/image/linux.jpg

 

 

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

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host.example.com

    DocumentRoot "/usr/local/apache2.4/docs/www.111.com"

    ServerName www.111.com

    ServerAlias 111.com

    SetEnvIf Request_URI ".*\.gif$" image-request

    SetEnvIf Request_URI ".*\.jpg$" image-request

    SetEnvIf Request_URI ".*\.png$" image-request

    SetEnvIf Request_URI ".*\.bmp$" image-request

    SetEnvIf Request_URI ".*\.swf$" image-request

    SetEnvIf Request_URI ".*\.js$" image- request

    SetEnvIf Request_URI ".*\.css$" image- request

    ErrorLog "logs/111.com-error_log"

    CustomLog "logs/111.com-access_log" combined env=!image-request

</VirtualHost>

//先定义了一个image-request环境变量,把gif,jpg,png, bmp,swf,js,css等格式文件全归类到此,env=!image-request表示日志记录不为image-request中表示的静态文件。

保存配置后,测试配置文件是否正确,没有错误重新加载服务:

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

Syntax OK

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

(2)配置验证

# curl -xlocalhost:80 www.111.com/image/linux.jpg -I

另打开一个窗口,查看日志,关于jpg格式的没有访问日志信息

# tailf   ../../logs/111.com-access_log

访问成功

 

 

推荐阅读