如何使用nginx / uwsgi关闭json请求的访问日志记录

时间:2016-09-21 13:08:39

标签: nginx uwsgi

我有一个

的nginx.conf文件
location / {
     # see http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html
     uwsgi_pass uwsgi_devcluster;
     include uwsgi_params;
}

我希望确保不会记录对此uwsgi服务器的json请求,因为每分钟都会加载。所以我试过

location / {
     location ~ \.json$ {
        access_log off;
     }
     # see http://uwsgi-docs.readthedocs.org/en/latest/Nginx.html
     uwsgi_pass uwsgi_devcluster;
     include uwsgi_params;
}

但这会给这些页面带来404错误。我该如何设置?

1 个答案:

答案 0 :(得分:1)

location块不能那样工作。有关详细信息,请参阅this document

您可以使用必要的uwsgi_pass指令定义两个位置块。最简单的解决方案是:

location / {
    uwsgi_pass uwsgi_devcluster;
    include uwsgi_params;
}
location ~ \.json$ {
    access_log off;
    uwsgi_pass uwsgi_devcluster;
    include uwsgi_params;
}

或者,您可以使用map指令设置变量以设置if=condition指令的access_log。有关详细信息,请参阅this document