nginx中的error日志一直显示"GET /favicon.ico HTTP/1.1" 错误,这样看起来并不美观。

错误提示

[root@nginx ~]# tail -f /usr/local/nginx/logs/error.log                    

2017/12/18 20:35:25 [error] 11955#0: *4176305 connect() failed (111: Connection refused) while connecting to upstream, client: 10.0.40.167, server: api.XXXlocal.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://10.0.40.242:80/favicon.ico", host: "api.XXXlocal.com", referrer: "http://api.XXXlocal.com/m2c.market/coupon/rule/paid/page"
2017/12/19 11:13:31 [error] 11955#0: *4237252 connect() failed (111: Connection refused) while connecting to upstream, client: 10.0.40.167, server: api.XXXlocal.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://10.0.40.242:80/favicon.ico", host: "api.XXXlocal.com", referrer: "http://api.XXXlocal.com/m2c.market/coupon/page"

解决办法

#log_not_found on|off,默认为on:启用或禁用404错误日志,这个指令可以用来禁止nginx记录找不到rebots.txt或favicon.ico这类文件的错误信息。

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

附录: 网友上的解说

  1. 网上有看到一句说:注意error_log off并不能关闭日志记录功能,它将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:error_log /dev/null crit;
    off位置在/usr/local/nginx/off,即nginx的安装目录下

  2. log_not_found off改成error_log off效果也一样,不同的是写成error_log off是将错误日志输出到off文件,而log_not_found则是关闭日志。

favicon.ico和rebots.txt的作用

每次获取这个favicon.ico干嘛,这个是标签栏的图标。
rebots是干嘛,用于爬虫收集信息的,帮你提高排名的知名度。