nginx access.log 忽略favicon.ico访问记录的方法

来源:互联网 发布:dnf一上线就网络中断 编辑:程序博客网 时间:2024/04/30 16:11

favicon.ico 文件是浏览器收藏网址时显示的图标,当第一次访问页面时,浏览器会自动发起请求获取页面的favicon.ico文件。当/favicon.ico文件不存在时,服务器会记录404日志。

127.0.0.1 - - [26/Jul/2015:22:25:07 +0800] “GET /favicon.ico HTTP/1.1” 404 168 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0” “-”
127.0.0.1 - - [26/Jul/2015:22:25:07 +0800] “GET /favicon.ico HTTP/1.1” 404 168 “-” “Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0” “-“

当一个站点没有设置favicon.ico时,access.log会记录了大量favicon.ico 404信息。

这样有两个缺点
1.使access.log文件变大,记录很多没有用的数据。
2.因为大部分是favicon.ico 404信息,当要查看信息时,会影响搜寻效率。

解决方法如下:
在nginx的配置中加入

location = /favicon.ico {  log_not_found off;  access_log off;}

以上配置说明:
location = /favicon.ico 表示当访问/favicon.ico时,
log_not_found off 关闭日志
access_log off 不记录在access.log

完整配置如下:

server {  listen        80;  server_name   fdipzone.com;  root          /Users/fdipzone/home;  access_log /var/log/nginx/access.log main;  error_log /var/log/nginx/error.log debug;  location = /favicon.ico {    log_not_found off;    access_log off;  }  location / {    index  index.html index.htm index.php;    include      /usr/local/etc/nginx/conf.d/php-fpm;  }}
0 0