我有我的Nginxconfiguration中的几个部分,fcgi for php,上游某些URL等,我希望nginx.log文件不logging任何查询来自本地主机作为内部进程只是洪水,然后由cron处理脚本。
有任何想法吗?
我试过这是它忽略它。
location / { rewrites...... if ($host = 127.0.0.1){ access_log off; } }
你的configuration是正确的,但NginX往往会有点疯狂? 与Ifs。 看看这是如果是邪恶的维基页面。
除此之外,不要试图在这种情况下禁用日志,而是尝试将其redirect到另一个日志,如/var/log/nginx/access_localhost.log ,看看是否有帮助(如果它有效,将它链接到/dev/null ,或者只是截断每一天)。
另外请记住access_log指令(和NginX中的其他指令)不会被inheritance。 这是Nginx邮件列表(从NginX的wiki链接)关于这个主题的引用:
在nginx中没有“全局”日志,只有“本地”的日志,明确定义或从以前的水平。
access_log指令与nginxconfiguration中的所有数组types指令一样,如果在特定级别定义,将忽略inheritance的值。 即在configuration
http {access_log log1;
server { server_name server1; } server { server_name server2; access_log log2; ... } }只有server1将日志logging设置为log1,而server2将日志logging设置为log2。 如果你想让server2把log写入log1和log2,你应该明确地说,即
server { server_name server2; access_log log1; access_log log2; ... }