使用lvs设置了负载均衡,应用服务器记录日志的时候,会有大量从 119 和 120 两个 ip 的登陆日志记录,但是这些都是我不需要的,所以想设置 nginx 不记录这两个 ip 的登录日志。
map $status $loggable {
default 1;
"((10)\.)((127)\.)((1)\.)(119|12[0-6])" 0;
}
access_log /path/to/access.log combined if=$loggable;
然后开开心心的执行 sudo ./nginx -t
,得到报错:
[sss@sss sbin]$ sudo ./nginx -t
nginx: [emerg] invalid parameter "if=$loggable" in /*/*/nginx/conf/nginx.conf:33
nginx: configuration file /*/*/nginx/conf/nginx.conf test failed
我寻思我和官网配置的一样啊,没毛病啊,怎么就不对呢,然后在 这里 偶然看到了这句话: nginx 1.7.0+ allows using an if condition in access_log directive itself.
,再去官网确认一下版本更新内容,果然:
,最后再查一下我自己的版本:
./nginx -V
nginx version: nginx/1.1.16
完蛋,版本也太老了,不折腾了,如果再升级一下 nginx 估计又有其他问题了,写个脚本删一删无用的日志吧=。=