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

扩展

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-566-1-1.html

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

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

1. 编辑虚拟机配置文件增加访问日志不记录图片静态文件等规则

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

增加内容(针对访问日志过滤掉图片访问)

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 "logs/111.com-access_log" combined env=!img

2. 检测虚拟机配置文件是否有错误

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t

3. 启动apache2.4/httpd

[[email protected] apache2.4]# /usr/local/apache2.4/bin/apachectl start

4. 重新加载配置文件(不会重启服务)

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

5. 进入111网站目录下

[[email protected] ~]# cd /data/wwwroot/111.com

6. 从window上传一张图片到当前目录下

[[email protected] 111.com]# rz

7. curl命令访问111.com下图片名称地址可以通(200 OK)

[[email protected] 111.com]# curl -x127.0.0.1:80 111.com/clipboard.png -I

8. 在windows游览器中不断刷新访问111.com/clipboard.png(上传图片地址)

9. 查看访问日志是没有看到有.png格式的访问日志这就是被过滤掉了不记录

[[email protected] 111.com]# tail /usr/local/apache2.4/logs/111.com-access_log

11.23 访问日志切割

日志一直记录总有一天会把整个磁盘占满

所以有必要让它自动切割并删除老的日志文件

1. 编辑虚拟机配置文件把日志规定为以每天日期为一个访问日志

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

访问日志增加更改如下规则(设定日志切割成多个文件)

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

2. 检测虚拟机配置文件是否有错误

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t

3. 重新加载配置文件(不会重启服务)

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

4. 用curl命令访问111.com网站下的123.php文件

[[email protected] ~]# curl -x127.0.0.1:80 111.com/123.php

5. 列出 apache访问日志目录下全部日志(可看到以日期命名的日志)

[[email protected] ~]# ls /usr/local/apache2.4/logs/

6. 查看刚刚访问后生成的日期命名的日志内容(刚刚访问123.php)

[[email protected] ~]# cat /usr/local/apache2.4/logs/123.php/111.com-access_20170801.log

11.24 静态元素过期时间

1. 修改虚拟主机配置文件定义静态图片等元素过期时间

插入内容(静态图片等元素过期时间的定义)

<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"

</IfModule>

2. 检测虚拟机配置文件是否有错误

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t

3. 重新加载配置文件(不会重启服务)

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

4. 编辑apache主配置打开含有expires这行(删除这行前面的#号)

5. 搜索apacheexpire模块是否打开

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -M |grep expire

6. 用curl命令访问111.com目录下的静态图片clipboard.php:

(显示了当前访问时间和缓存静态过期时间过期就会清理掉了)

[[email protected] ~]# curl -x127.0.0.1:80 111.com/clipboard.png -I

时间: 2024-10-21 15:46:15

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

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

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

一:访问日志不记录指定文件类型 #vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 在对应的虚拟主机配置文件中加入 相关配置为: SetEnvIf Request_URI "..gif$" image-request SetEnvIf Request_URI "..jpg$" image-request SetEnvIf Request_URI "..png$" image-request S

apache日志切割与不记录指定文件类型日志

1.# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 修改日志文件为: ErrorLog "logs/test.com-error_log"       错误日志 CustomLog "logs/test.com-access_log" combined  访问日志  相对路径 Apache的common日志格式定义: # vim /usr/local/apache2/conf/httpd.conf <

NodeJS静态文件访问性能测试

受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器,应用实现包含两大部分:一部分做HTTP服务器为客户端发送html.image.javascript等游戏资源文件:另一部分使用了socket.io实时响应玩家的操作.技术实现并不困难,但要实现一个轻量.稳定.流畅的HTTP静态文件服务器,还是需要花些心思的. 本文笔者对现有一些HTTP服务器的实现

zbb20170726 spring访问静态文件访问

静态文件目录 web.xml拦截方式  / <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <!-- 默认/WEB-INF/[servlet名字]-servlet.xml加载上下文, 如果配置了

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

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

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

[toc] 10.22 访问日志不记录静态文件 很多网站大多为静态网页,网页内部的图片.css文件等同样有其网址链接,如果不设置,这些无效的信息也将被存入访问日志中,会导致访问日志文件大小快速增加,占用大量存储空间.我们可以通过设置不记录某些文件来减少无效信息,节省内存资源. 1. 编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf </IfModule> ErrorLo

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

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

2.1-Apache不记录指定文件类型日志

在apache访问日志中,默认会记录所有动作.包括本地一些静态小图片,从而日志变得繁多臃肿. 这时我们可以指定,不记录指定文件类型的日志,来达到只记录我们想要的日志. 配置步骤: 1:标记指定文件类型 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/usr/local/src/Discuz" ServerName www.llzdwyp.com ServerAlias www.wyp.com S