文档章节

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

野雪球
 野雪球
发布于 2018/11/19 00:37
字数 961
阅读 7
收藏 0

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

  • 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录

  • vhost原始配置

<VirtualHost *:80>
    ServerAdmin  test@163.com
    DocumentRoot "/usr/local/apache2.4/test-webroot"
    ServerName test.com
    ServerAlias www.test.com
    ErrorLog "logs/test.com-error_log"
    CustomLog "logs/test.com-access_log" combined
</VirtualHost>
  • 访问www.test.com/1.jpg
[root@test-a extra]# curl -x127.0.0.1:80 -l www.test.com/1.png
<!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 /1.png was not found on this server.</p>
</body></html>
[root@test-a extra]# tail -n 1 /usr/local/apache2.4/logs/test.com-access_log
127.0.0.1 - - [19/Nov/2018:07:00:54 +0800] "GET HTTP://www.test.com/1.png HTTP/1.1" 404 203 "-" "curl/7.29.0"
  • 进行限制配置
[root@test-a extra]# vim httpd-vhosts.conf # 进行如下配置
<VirtualHost *:80>
    ServerAdmin  test@163.com
    DocumentRoot "/usr/local/apache2.4/test-webroot"
    ServerName test.com
    ServerAlias www.test.com
    SetEnvIf Request_URI ".*\.gif$" static_file
    SetEnvIf Request_URI ".*\.jpg$" static_file
    SetEnvIf Request_URI ".*\.png$" static_file
    SetEnvIf Request_URI ".*\.bmp$" static_file
    SetEnvIf Request_URI ".*\.swf$" static_file
    ErrorLog "logs/test.com-error_log"
    CustomLog "logs/test.com-access_log" combined env=!static_file
</VirtualHost>
  • 重新加载配置,访问测试
[root@test-a extra]# /usr/local/apache2.4/bin/apachectl graceful
[root@test-a extra]# tail -n 1 /usr/local/apache2.4/logs/test.com-access_log
127.0.0.1 - - [19/Nov/2018:07:04:14 +0800] "GET HTTP://www.test.com/12.png HTTP/1.1" 404 204 "-" "curl/7.29.0"

[root@test-a extra]# curl -x127.0.0.1:80 -l www.test.com/123.png
<!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 /123.png was not found on this server.</p>
</body></html>
[root@test-a extra]# tail -n 1 /usr/local/apache2.4/logs/test.com-access_log
127.0.0.1 - - [19/Nov/2018:07:04:14 +0800] "GET HTTP://www.test.com/12.png HTTP/1.1" 404 204 "-" "curl/7.29.0"
[root@test-a extra]# curl -x127.0.0.1:80 -l www.test.com/123.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 /123.jpg was not found on this server.</p>
</body></html>
[root@test-a extra]# tail -n 1 /usr/local/apache2.4/logs/test.com-access_log
127.0.0.1 - - [19/Nov/2018:07:04:14 +0800] "GET HTTP://www.test.com/12.png HTTP/1.1" 404 204 "-" "curl/7.29.0"

访问日志切割

  • 日志一直记录总有一天会把整个磁盘占满,所以有必要让它自动切割,并删除老的日志文件。

  • 配置,使用Apache自带的切割工具rotatelogs进行日志文件切割

[root@test-a extra]# ls /usr/local/apache2.4/logs/
access_log                          dummy-host.example.com-access_log  httpd.pid
dummy-host2.example.com-access_log  dummy-host.example.com-error_log   test.com-access_log
dummy-host2.example.com-error_log   error_log                          test.com-error_log

[root@test-a extra]# vim httpd-vhosts.conf # 进行如下的配置
<VirtualHost *:80>
    ServerAdmin  test@163.com
    DocumentRoot "/usr/local/apache2.4/test-webroot"
    ServerName test.com
    ServerAlias www.test.com
    SetEnvIf Request_URI ".*\.gif$" static_file
    SetEnvIf Request_URI ".*\.jpg$" static_file
    SetEnvIf Request_URI ".*\.png$" static_file
    SetEnvIf Request_URI ".*\.bmp$" static_file
    SetEnvIf Request_URI ".*\.swf$" static_file
    ErrorLog "logs/test.com-error_log"
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l  logs/test.com-access_log-%Y-%m-%d 86400" combined env=!static_file
</VirtualHost>

[root@test-a extra]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@test-a extra]# curl -x127.0.0.1:80 -l www.test.com/index.php
hello, test-webroot from www.test.com[root@test-a extra]#
[root@test-a extra]#
[root@test-a extra]# ls /usr/local/apache2.4/logs/
access_log                          dummy-host.example.com-access_log  httpd.pid                       test.com-error_log
dummy-host2.example.com-access_log  dummy-host.example.com-error_log   test.com-access_log
dummy-host2.example.com-error_log   error_log                          test.com-access_log-2018-11-18

配置静态文件过期时间

  • 浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了

  • 需要使用到expires_module

  • 配置测试

[root@test-a extra]# vim httpd-vhosts.conf  # 添加如下配置
<IfModule mod_expires.c>
    ExpiresActive on
    ExpiresByType image/gif  "access plus 1 day"
    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>


[root@test-a test-webroot]#
[root@test-a test-webroot]# /usr/local/apache2.4/bin/apachectl -M | grep expires # 查看expires_module是否可用
[root@test-a test-webroot]# vim /usr/local/apache2.4/conf/httpd.conf # 取消该模块的注释
[root@test-a test-webroot]# /usr/local/apache2.4/bin/apachectl -M | grep expires
 expires_module (shared)
[root@test-a test-webroot]# /usr/local/apache2.4/bin/apachectl graceful
[root@test-a test-webroot]#
[root@test-a test-webroot]# curl -x127.0.0.1:80  www.test.com/1.jpg -I
HTTP/1.1 200 OK
Date: Mon, 19 Nov 2018 00:32:00 GMT
Server: Apache/2.4.37 (Unix) PHP/5.6.32
Last-Modified: Mon, 19 Nov 2018 00:30:17 GMT
ETag: "0-57af99f141942"
Accept-Ranges: bytes
Cache-Control: max-age=86400 # 一天过期
Expires: Tue, 20 Nov 2018 00:32:00 GMT
Content-Type: image/jpeg

© 著作权归作者所有

野雪球
粉丝 8
博文 70
码字总数 79542
作品 0
贵阳
私信 提问
加载中

评论(0)

【2018.05.30学习笔记】【linux基础知识11.22-11.24】

11.22 访问日志不记录静态文件 apache的访问日志会记录网站每个文件被获取的信息,这样日志信息量会很大,我们排查日志的时候不容易筛选有用的记录。我们可以把静态文件的日志设置为不记录,...

lgsxp
2018/05/30
87
0
Apache优化——日志管理 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间

11.22 访问日志不记录静态文件 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 编辑虚拟主机配置文件“httpd-vhosts.conf”: 说明: 将所有访问图片的请求定义为变量img...

Champin
2017/12/21
24
0
LNMP架构访问日志、日志切割、静态文件不记录及过期时间设置

11月27日任务 12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期时间 Nginx访问日志 修改nginx配置文件 格式内使用的变量说明如下: 变量名 说明 $remote_addr 客户端...

robertt15
2018/11/27
16
0
访问日志不记录静态文件、访问日志切割、静态元素过期时间

11.22 访问日志不记录静态文件 网站大多元素为静态文件,如图片、css、js等,这些元素可以不用记录 把虚拟主机配置文件改成如下: 重新加载配置文件-t,graceful mkdir /data/wwwroot/www.12...

平步清云
2017/12/21
0
0
LAMP架构(apache访问日志不记录静态文件,静态元素过期时间,apache日志切割)

一、apache访问日志不访问静态文件 浏览器打开后按f12会会出现一个界面,点network,会出现很多请求,访问日志里会记载,有些静态的图片或者文件也会记载,太浪费磁盘空间和磁盘io。所以我们要...

小新锐
2017/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何利用Youtube数据分析工具提升频道

Youtube频道是否能够做成功,很大的一个衡量标准就是观看量和订阅数量。但是这只是一个结果性的东西,在频道不断提升的过程中,我们需要知道更细节性的数据,比如到底是谁看了我的视频?他们...

每日关联
9分钟前
31
0
仁怀哪里可以开餐饮费发票-中国新闻网

仁怀哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723687
今天
58
0
资兴哪里可以开餐饮费发票-中国新闻网

资兴哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723480
今天
42
0
沅江哪里可以开餐饮费发票-中国新闻网

沅江哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723685
今天
42
0
天津哪里可以开餐饮费发票-中国新闻网

天津哪里可以开餐饮费发票【139 * 7⒏ б2 * 15 З9】陈生,诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridg...

17054723617
今天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部