欢迎您,零度科技专业海外服务器租用
公司电话: 24小时电话: 

当前位置:首页>帮助教程>Linux 系统教程

目录导航

nginx不记录php文件日志 php日志过滤

香港硬防(2G)机房 发布于 2014-01-06   nginx
Linux 系统教程

今天收到同事的一个需求,在web生成的统计日志中不要记录action.php、soft.php、new.php,logo.jpg这三个php文件和logo文件的日志,降低统计时候读取日志消耗的性能,本来以后直接加个location 就可以搞定,后来发现并不是这么简单;
错误配置:

nginx不记录php文件日志 php日志过滤-图片1
nginx不记录php文件日志 php日志过滤-图片1

 这样的配置,发现只有访问logo.jpg的日志被记录到data.log.no的日志中,*.php的日志依然被记录到data.log日志中。
 理解:因为在加进去的规则前面有个localtion ~ .*.php?$ 所以php文件一进来就被这个location规则给匹配了,并没有经过我们后来定义的那个规则里面,所以日志还是记录在data.log里面。而logo.jpg则匹配后来的规则,所以被记录。

于是,把规则提到最前面,让他优先匹配(错误配置)

nginx不记录php文件日志 php日志过滤-图片2
nginx不记录php文件日志 php日志过滤-图片2

 日志是被记录了,可是php文件 不能访问,直接会提示下载,这样的配置php没有发送给后端的php-cgi处理,把php的处理也加进去试试

解决方法(注意location的顺序):

nginx不记录php文件日志 php日志过滤-图片3
nginx不记录php文件日志 php日志过滤-图片3

 

重启下nginx,日志就分开记录了。

转载自零度科技:http://www.ldisp.com/a/linux/2014/2562.shtml

上一篇:Nginx多域名多Server反向代理配置
下一篇:玩转squid日志

 
了解零度?

零度科技主营全球服务器租用,如果您有服务器租用需求请联系

海外服务器租用

推荐香港、美国、韩国。提供站群服务器、高防服务器租用

海外特价服务器

关注零度特价服务器频道,了解全球特价服务器。

0

业务咨询

    技术服务

      特价活动
        全站搜索
        热门搜索:
        会员
        0通知
        客服
        0特价
        搜索
        TOP
        香港高防服务器,远程桌面,韩国服务器,nginx,反向代理