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

访问日志不记录静态文件

一个网站会有很多元素,尤其是图片、js、css等静态文件非常多,每个用户请求一个页面都会访问诸多的图片,这些元素都会被记录在日志中,如果一个网站访问量很大,那么这些日志会增长的非常快,这样不仅会对服务器的磁盘造成影响,更会影响磁盘的读写速度。所以我们要限制这些惊天文件的记录。

具体方法如下:
编辑配置文件vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
然后在ErrorLog "logs/111.com-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
“.
.xxx$”其中xxx代表元素的格式,我们在编辑的时候只要将元素的格式以正则表达式表示出来就可以。
然后在 CustomLog "logs/123.com-access_log" combined加上nv=!img(排除带img标识的文件。)
检查语法错误-t 重新加载配置文件 , graceful

访问日志切割

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

首先打开配置文件,
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
然后更改 CustomLog这一段配置,首先我们先指定一个工具,rotatelogs,他是apache自带的切割工具,它存在于/usr/local/apache2.4/bin/中。其中参数-l是要它以当前系统时间为准,如果不加-l,它则以UTC时间为准。
然后在系统文件名access_加一个变量,%Y%m%d.log这是以年月日的格式命名的。既然我们是按照一天的时间来切割,然后我们换算成秒的话就是86400秒。日期格式可以用分隔符隔开。

CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.log 86400" combined env=!img

检查语法错误 -t 重新加载配置文件 graceful

静态元素过期时间

浏览器访问网站的图片时会把静态的文件缓存在本地电脑里,这样下次再访问时就不用去远程下载了,而直接去电脑访问电脑中的缓存,那么到底能缓存多久呢?我们是可以控制这个时间,这也叫做缓存过期时间。

首先我们打开配置文件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" ExpiresDefault "now plus 0 min"
重新加载配置文件 -t, graceful

然后我们去查看模块有没有打开
/usr/local/apache2.4/bin/apachectl -M|grep expire
如果没有打开的话,我们去编辑主配置文件,然偶找到
LoadModule expires_module modules/mod_expires.so这个文件,并将前面的“#”删掉。
然后重新加载
/usr/local/apache2.4/conf/httpd.conf graceful
再一次查找模块
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M|grep expires
expires_module (shared)(已经加载模块成功)
重新加载配置文件 -t, graceful

原文地址:http://blog.51cto.com/13067688/2104197

时间: 2024-08-04 22:16:26

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

nginx日志不记录静态文件访问和缓存

nginx访问日志nginx和apache的访问日志一样可以记录的指定信息,如记录服务器时间,访问的客户端ip.访问的url和访问状态码等信息,这些信息会规律的记录到访问日志中主配置文件中定义的日志格式,记录的格式参数解释如下 $remote_addr ? ? ? ? ? ? ? ? ? 客户端访问IP(公网IP) $http_x_forwarded_for ? ? ? ? ? 记录代理服务器的IP $time_local ? ? ? ? ? ? ? ? ? ? 日志中服务器本地时间 $host

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

访问日志不记录静态文件 1.过滤静态文件:修改虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^111.com$ RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] </IfModule&

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

一.访问日志不记录静态文件 访问日志:可以记录网站的访问情况,还可以在网站有异常发生时帮助我们定位问题,比如当有攻击时,是可以通过查看日志看到一些规律的. 静态元素:一个网站有很多元素,比如图片.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

访问日志不记录静态文件;访问日志切割;静态图片等元素过期时间

扩展 apache日志记录代理IP以及真实客户端IP  http://www.lishiming.net/thread-960-1-1.html apache只记录指定URI的日志  http://www.lishiming.net/thread-981-1-1.html apache日志记录客户端请求的域名  http://www.lishiming.net/thread-1037-1-1.html apache 日志切割问题  http://www.lishiming.net/thread-

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

访问日志不记录静态文件 当访问很多图片,文档等静态资源的时候,会加大你日志的容量,日志容量占用你磁盘空间后,会出现服务器宕机等很严重的问题,这时需要将日志进行配置优化.当访问网页时不记录这些图片.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修改完后重新加载配置文件