apache2.4配置访问日志分割并过滤图片CSS等无用内容
2017-06-09 11:04
501 查看
相关信息
1.apache日志有访问日志和错误日志,错误日志根据日志级别来输出错误信息,而访问日志根据定义的日志格式来记录访问动作
2.访问日志格式在httpd.conf文件里面定义,在虚拟主机里面引用
3.如果网站访问量大,那么很容易造成访问日志过大,所以对访问日志进行自动切割非常有必要
4.本篇日志使用的日志分割工具是apache自己的rotatelogs工具
思路:在httd.conf中选择合适自己的日志格式>在虚拟主机的配置文件里引用并分割
第一:选择合适的日志格式
①打开httpd.conf文件
②找到<If Module log_config_module>标签,内容如下(后面的文字是解释内容):
我们使用的是如下这个日志格式,因为这个格式记录的东西比较丰富
第二:在虚拟主机中配置日志格式并切割
①:打开虚拟主机配置文件
②:注释掉原来的内容
③:插入如下代码
|/usr/local/apache/bin/rotatelogs 指定使用rotatelogs工具 ,-l 参数是指定访问日志存放路径, %Y%m%d 是日志以年月日来命名, 86400 是秒,换算过来也就是一天,也就是说一天切割一次日志。 combined 是日志格式,也就是说使用combined这个日志格式来记录日志。
扩展内容:排除图片和css、js等内容的日志记录
说明:默认的日志会记录所有访问内容,包括各种图片、css、js等,那如何过滤掉这些内容的,请看下面:
①在虚拟主机标签中设置要排除的内容(后面的文字是解释)
②在日志设置语句中添加排除
env=!paichu 的中!是否定的意思,也就是不等于排除
1.apache日志有访问日志和错误日志,错误日志根据日志级别来输出错误信息,而访问日志根据定义的日志格式来记录访问动作
2.访问日志格式在httpd.conf文件里面定义,在虚拟主机里面引用
3.如果网站访问量大,那么很容易造成访问日志过大,所以对访问日志进行自动切割非常有必要
4.本篇日志使用的日志分割工具是apache自己的rotatelogs工具
思路:在httd.conf中选择合适自己的日志格式>在虚拟主机的配置文件里引用并分割
第一:选择合适的日志格式
①打开httpd.conf文件
vim /usr/local/apache/conf/httpd.conf
②找到<If Module log_config_module>标签,内容如下(后面的文字是解释内容):
ErrorLog "logs/error_log" 错误日志 LogLevel warn 警告级别为warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 复合日志格式 LogFormat "%h %l %u %t \"%r\" %>s %b" common 常规日志格式 <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio 复合日志格式 </IfModule> CustomLog "logs/access_log" common 默认访问日志存放路径和格式,如果虚拟主机中不定义的话就是用这个 </IfModule>
我们使用的是如下这个日志格式,因为这个格式记录的东西比较丰富
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 复合日志格式
第二:在虚拟主机中配置日志格式并切割
①:打开虚拟主机配置文件
vim /usr/local/apache/conf/extra/httpd_vhosts.conf
②:注释掉原来的内容
#CustomLog "logs/dummy-host.example.com-access_log" common
③:插入如下代码
CustomLog "|/usr/local/apache/bin/rotatelogs -l logs/discuz.expeak.com-access_%Y%m%d.log 86400" combined env=!paichu
|/usr/local/apache/bin/rotatelogs 指定使用rotatelogs工具 ,-l 参数是指定访问日志存放路径, %Y%m%d 是日志以年月日来命名, 86400 是秒,换算过来也就是一天,也就是说一天切割一次日志。 combined 是日志格式,也就是说使用combined这个日志格式来记录日志。
扩展内容:排除图片和css、js等内容的日志记录
说明:默认的日志会记录所有访问内容,包括各种图片、css、js等,那如何过滤掉这些内容的,请看下面:
①在虚拟主机标签中设置要排除的内容(后面的文字是解释)
SetEnvIf Request_URI "\.(gif|jpg|png|css|js)$" paichu 匹配所有请求中包含.gif.jpg.png.css.js的内容,起名字为paichu
②在日志设置语句中添加排除
CustomLog "|/usr/local/apache/bin/rotatelogs -l logs/discuz.expeak.com-access_%Y%m%d.log 86400" combined env=!paichu
env=!paichu 的中!是否定的意思,也就是不等于排除
相关文章推荐
- apache2.4配置访问日志分割并过滤图片CSS等无用内容
- apache 日志不记录图片 css js 文件访问
- Apache配置实现日志按天分割并删除指定几天前的日志
- Apache2.4和Apache2.2访问控制配置语法对比
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- apache2.4.X服务器配置让所有终端访问
- apache访问日志和错误日志按照日期进行归类分割生成方法
- Apache2.4和Apache2.2访问控制配置比较
- apache 2.4 配置httpd:添加域名禁止IP访问网站
- Apache2.4和Apache2.2访问控制配置语法对比
- 配置apache访问日志和日志切割
- LAMP第二部分apache配置2(访问日志切割 and 配置静态文件缓存 and配置防盗链)
- Apache配置域名跳转、日志切割、静态缓存、防盗链、访问控制
- Apache2.4(httpd)配置多个虚拟目录,分别设置代理访问Node.js
- apache配置文件中 设置访问日志不记录 指定ip的访问记录
- 关于Apache2.4限制目录访问配置的问题
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- 对apache访问日志的条件过滤以及统计
- 怎样配置让apache访问日志记录真实客户端IP,而不是nginx代理服务器IP
- apache 2.4 访问权限配置