6.访问日志静态文件,访问日志切割,静态元素过期时间

[toc]

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

很多网站大多为静态网页,网页内部的图片、css文件等同样有其网址链接,如果不设置,这些无效的信息也将被存入访问日志中,会导致访问日志文件大小快速增加,占用大量存储空间。我们可以通过设置不记录某些文件来减少无效信息,节省内存资源。

1. 编辑虚拟主机配置文件

[[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
</IfModule>

        ErrorLog "logs/xavi-error_log"
    #以下为定义变量:将所有关于图片,css,js的请求定义为变量img
    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
    # "env=!img"表示非img变量。意思是:不记录关于变量img的请求日志
CustomLog "logs/xavi-access_log" combined env=!img
</VirtualHost>

将所有访问图片的请求定义为变量img,在访问记录(日志)中将其排除即可。重新加载后使用curl访问img变量中所指定格式的文件内容时将不会产生访问记录。img是变量。

11.23 访问日志切割

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

1.把虚拟主机配置文件改成如下:

   </IfModule>

        ErrorLog "logs/xavi-error_log"

    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 "|/usr/local/apache2.4/bin/rotatelogs -l logs/xavi.com-access_%Y%m%d.log 86400"  combined env=!img
</VirtualHost>

CustomLog "|/usr/local/apache2/bin/rotatelogs -l logs/123test-access_log_%Y%m%d_log 86400" combined env=!img
# /usr/local/apache2.4/bin/rotatelogs工具是apache自带的分割日志的工具
# -l参数按当前系统时间为基准进行切割(我国为CST),否则默认UTC
# %Y%m%d表示年月日,这样会每天记录一个带日期的日志文件,更方便
# 86400(s)表示每天都进行切割,一天24小时等于86400秒

curl访问后有日志文件生成

[[email protected] ~]# ls /usr/local/apache2.4/logs/xavi.com-access_20180307.log
/usr/local/apache2.4/logs/xavi.com-access_20180307.log
[[email protected] ~]# cat !$
cat /usr/local/apache2.4/logs/xavi.com-access_20180307.log
127.0.0.1 - - [07/Mar/2018:23:14:45 +0800] "GET HTTP://xavi.com/123.php HTTP/1.1" 200 7 "-" "curl/7.29.0"

11.24 静态元素过期时间

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

但是缓存多久呢?如果网站图片更新了呢,那么应该访问新图片才是。所以这就涉及到静态文件缓存时长的问题了,也就是“缓存过期时间”。

1.启用expires模块

[[email protected] logs]# vim /usr/local/apache2.4/conf/httpd.conf
LoadModule expires_module modules/mod_expires.so   //去掉#

2.修改虚拟主机配置文件

[[email protected] logs]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf  //增加以下内容

<IfModule mod_expires.c>
    ExpiresActive on  //打开该功能的开关
    ExpiresByType image/gif  "access plus 1 days"
    ExpiresByType image/jpeg "access plus 24 hours"
    ExpiresByType image/png "access plus 24 hours"
    ExpiresByType text/css "now plus 2 hour"
    ExpiresByType application/x-javascript "now plus 2 hours"
    ExpiresByType application/javascript "now plus 2 hours"
    ExpiresByType application/x-shockwave-flash "now plus 2 hours"

// 按文件类型来设置自定义过期时间
// acess表示从访问时间开始
// now表示按当前时间开始
// plus在前面的时间基础上加上
// 1 hours/days 表示文件的生命周期
// 例如 acess plus 1 days 表示该文件从访问的时间开始1天内有效,无需重新获取

    ExpiresDefault "now plus 0 min"
//除上述外的文件指定默认的过期时间

3.重新加载-t,grancful查看,检查模块是否加载

[[email protected] logs]# /usr/local/apache2.4/bin/apachectl -M | grep -i expire   //检查模块是否加载
 expires_module (shared)

4.测试

4.1 ctrl+F5 强制刷新

原文地址:http://blog.51cto.com/12995218/2084125

时间: 2024-12-10 13:05:54

6.访问日志静态文件,访问日志切割,静态元素过期时间的相关文章

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

访问日志不记录静态文件 当访问很多图片,文档等静态资源的时候,会加大你日志的容量,日志容量占用你磁盘空间后,会出现服务器宕机等很严重的问题,这时需要将日志进行配置优化.当访问网页时不记录这些图片.css.js等信息日志. 1.[[email protected] 111.com]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/wwwroot/11

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

一.apache访问日志不访问静态文件 浏览器打开后按f12会会出现一个界面,点network,会出现很多请求,访问日志里会记载,有些静态的图片或者文件也会记载,太浪费磁盘空间和磁盘io.所以我们要让日志不记录静态文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI &

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 访问日志不记录静

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

11.22 访问日志不记录静态文件11.23 访问日志切割11.24 静态元素过期时间编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf11.23 访问日志切割修改完配置文件后,需要重新访问下网址才能生动生成日志文件,以后每到00:00就会自动生成以系统日期为名字的新的日志文件编辑虚拟配置文件:vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf修改完后重新加载配置文件

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

11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 原文地址:http://blog.51cto.com/wbyyy/2083288

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

一.访问日志不记录静态文件 访问日志:可以记录网站的访问情况,还可以在网站有异常发生时帮助我们定位问题,比如当有攻击时,是可以通过查看日志看到一些规律的. 静态元素:一个网站有很多元素,比如图片.js.css等静态文件,这些就是静态元素.QQ浏览器,按F12可以查看它的静态元素,Network. 要配置httpd访问日志,首先需要虚拟主机配置文件中定义访问日志的格式,打开虚拟主机配置文件: # vim /usr/local/apache2.4/conf/extra/httpd-vhosts.co

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

11.22 访问日志不记录静态文件 11.23 访问日志切割 11.24 静态元素过期时间 扩展 apache日志记录代理IP以及真实客户端IP  http://ask.apelearn.com/question/960apache只记录指定URI的日志  http://ask.apelearn.com/question/981apache日志记录客户端请求的域名  http://ask.apelearn.com/question/1037apache 日志切割问题  http://ask.ap

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

访问日志不记录静态文件 一个网站会有很多元素,尤其是图片.js.css等静态文件非常多,每个用户请求一个页面都会访问诸多的图片,这些元素都会被记录在日志中,如果一个网站访问量很大,那么这些日志会增长的非常快,这样不仅会对服务器的磁盘造成影响,更会影响磁盘的读写速度.所以我们要限制这些惊天文件的记录. 具体方法如下:编辑配置文件vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf然后在ErrorLog "logs/111.com-error_l

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

访问日志不记录指定类型的文件 一个网站会有很多元素,尤其是图片.js.css等静态的文件非常多,用户每请求一个页面就会访问诸多的图片.js等静态元素,这些元素的请求都会被记录在日志中.如果一个站点访问量很大,那么访问日志文件增长会非常快,这不仅对于服务器的磁盘空间造成影响,更重要的是会影响磁盘的读写速度.实际上这些巨量的静态元素请求记录到日志里的意义并不大,所以可以限制这些静态元素去记录日志,并且需要把日志按天归档,一天一个日志,这样也可以防止单个日志文件过大. 编辑虚拟主机配置文件vim /u