学习linux第四十四天

访问日志不记录静态文件

[root@HANLIN /]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com xy.com
#<Directory /data/wwwroot/111.com>
#<FilesMatch sss.php> 
# AllowOverride AuthConfig 
# AuthName "111.com user auth"
# AuthType Basic 
# AuthUserFile /data/.htpasswd 
# require valid-user
#</FilesMatch>
#</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
</IfModule>
ErrorLog "logs/111.com-error_log"
SetEnvIf Request_URI ".*\.gif$" img (img就相当于是给这个过滤条件打上一个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
</VirtualHost>

 

测试

 

不刷新配置文件测试

[root@HANLIN conf]# curl -x127.0.0.1:80 111.com/jpg
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /jpg was not found on this server.</p>
</body></html>
[root@HANLIN conf]# cat /usr/local/apache2.4/logs/111.com-
111.com-access_log 111.com-error_log 
[root@HANLIN conf]# cat /usr/local/apache2.4/logs/111.com-access_log 
192.168.0.102 - zhangsan [08/Nov/2018:01:44:13 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:44:14 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:44:17 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:52:36 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
192.168.0.102 - zhangsan [08/Nov/2018:01:52:37 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
192.168.0.102 - zhangsan [08/Nov/2018:01:52:43 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:13:59:00 +0800] "GET HTTP://111.com/jpg HTTP/1.1" 404 201 "-" "curl/7.29.0"
刷新配置文件测试

[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl graceful
[root@HANLIN conf]# curl -x127.0.0.1:80 111.com/111.bmp
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /111.bmp was not found on this server.</p>
</body></html>
[root@HANLIN conf]# cat /usr/local/apache2.4/logs/111.com-access_log 
192.168.0.102 - zhangsan [08/Nov/2018:01:44:13 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:44:14 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:44:17 +0800] "GET / HTTP/1.1" 200 7
192.168.0.102 - zhangsan [08/Nov/2018:01:52:36 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
192.168.0.102 - zhangsan [08/Nov/2018:01:52:37 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
192.168.0.102 - zhangsan [08/Nov/2018:01:52:43 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
127.0.0.1 - - [08/Nov/2018:13:59:00 +0800] "GET HTTP://111.com/jpg HTTP/1.1" 404 201 "-" "curl/7.29.0"
127.0.0.1 - - [08/Nov/2018:14:06:06 +0800] "GET HTTP://111.com/jpg HTTP/1.1" 404 201 "-" "curl/7.29.0" (没有出现跟bmp相关 的日志)

 

 

访问日志切割

[root@HANLIN /]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

CustomLog "|/usr/local/apache2.4/bin/rotatelog -l logs/111.com-access_log_%Y%m%d.log 86400" combined env=!img (-l 表示用的是中国cst时区时间,以当前系统时间为基准,86400换算成秒,是每隔一天新建一个以当天日期为名字的日志文件,可以自己再做任务计划,每隔三个月删除一次日志)


[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl graceful (出错就是因为上面命令rotate前面少了个bin)
httpd not running, trying to start
[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl start
httpd (pid 80028) already running
[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl graceful
[root@HANLIN /]# netstat -lntp |grep httpd
tcp6 0 0 :::80 :::* LISTEN 80028/httpd 

[root@HANLIN /]# cat /usr/local/apache2.4/logs/
111.com-access_log abc.com-access_log access_log httpd.pid 
111.com-error_log abc.com-error_log error_log 
[root@HANLIN /]# cat /usr/local/apache2.4/logs/
111.com-access_log abc.com-access_log error_log
111.com-access_log_20181108.log abc.com-error_log httpd.pid (出现我们需要的切割日志)
111.com-error_log access_log

 

配置静态元素过期时间

[root@HANLIN conf]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.example.com xy.com
#<Directory /data/wwwroot/111.com>
#<FilesMatch sss.php> 
# AllowOverride AuthConfig 
# AuthName "111.com user auth"
# AuthType Basic 
# AuthUserFile /data/.htpasswd 
# require valid-user
#</FilesMatch>
#</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^111.com$
RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on 打开该功能的开关
ExpiresByTape image/gif "access plus 1 days"
ExpiresByTape image/jpeg "access plus 24 hours"
ExpiresByTape image/png "access plus 24 hours"
ExpiresByTape text/css "now plus 2 hours"
ExpiresByTape application/x-javascript "now plus 2 hours"
ExpiresByTape application/javascript "now plus 2 hours"
ExpiresByTape application/x-shickwave-flash "now plus 2 hours"
Expiresdefault "now plus 0 min"
</Ifmoudule>
ErrorLog "logs/111.com-error_log"

开始测试

 

root@HANLIN conf]# vim /usr/local/apache2.4/conf/httpd.conf

#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so (前面#号去掉)
LoadModule headers_module modules/mod_headers.so
#LoadModule unique_id_module modules/mod_unique_id.so

[root@HANLIN 111.com]# /usr/local/apache2.4/bin/apachectl -M |grep expires
expires_module (shared)

[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl -t

Syntax OK

[root@HANLIN /]# /usr/local/apache2.4/bin/apachectl graceful


[root@HANLIN 111.com]# curl -x127.0.0.1:80 111.com/wxz.jpg -I (-I 表示忽略其他,只显示状态码)
HTTP/1.1 200 OK (200表示正常,如果网页再刷新一遍会产生304状态码,表示正在访问已经有缓存的网页内容)
Date: Thu, 08 Nov 2018 16:25:45 GMT
Server: Apache/2.4.35 (Unix) PHP/5.6.32
Last-Modified: Thu, 08 Nov 2018 16:21:27 GMT
ETag: "5dacf-57a29a0686fc0"
Accept-Ranges: bytes
Content-Length: 383695
Cache-Control: max-age=86400 (图片老化时间一天,一天过后网站自动清除该图片缓存)
Expires: Fri, 09 Nov 2018 16:25:45 GMT
Content-Type: image/jpeg

 

转载于:https://my.oschina.net/u/3867255/blog/2877488

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值