放在某云上的服务器,由于使用了负载均衡,负载均衡每秒都会数十次HEAD请求来判断服务是否活着,导致nginx日志每天都上G,一不小心磁盘就满了,还严重影响服务器性能。
如何不入写HEAD请求的日志呢?
网上找了找,大部分都是引入第三方插件来实现,我嫌麻烦,没用。本文介绍一种使用NGINX自己的语法来解决此问题。
下面先给出解决方法:
将下面代码放到nginx.conf文件的location节点里面:
if ($request_method = HEAD) {
access_log off;
}
如
location / {
if ($request_method = HEAD) {
access_log off;
}
root html;
index index.html index.htm;
}
这样就可以了。
下面解释几个坑:
1、为啥只能放到location中?能否放到server下面?
不能,access_log off;放到server下面会有错。
2、注意if后面有个空格,没有空格会当做指令,但又不存在if($request_method指令,依然会报错。