Nginx - 排除特定文件或文件夹不记录到access.log

5

我正在使用Nginx中的访问和错误日志。

我有极大量的统计请求,这些请求占用了太多存储空间在access.log中,并且不是必需的。

是否可以从记录到access.log中排除特定文件或文件夹?

我想要排除所有对/stats/的请求。

server {
    listen  80 default_server;
    listen  443 ssl default_server;
    server_name ***.co.uk www.***.co.uk;

    root  /var/www/***/html;
    index index.html index.php;

    access_log /var/www/***/log/access.log;
    error_log /var/www/***/log/error.log;
}    
1个回答

8
如果您知道哪个location块或服务器正在处理统计请求,您可以执行此操作。只需将指令access_log off;添加到您希望禁用的服务器或location块中即可。
--编辑--
将此location添加到您的服务器块中:
location /stats/ {
    try_files $uri $uri/ =404;
    access_log off;
}

我已经更新了我的问题并提供了更多细节。在这个例子中,如何排除 stats 文件夹? - Asa Carter
我已经更新了我的答案。请检查它是否有效。如果无效,请告诉我结果是什么。 - Keenan Lawrence
2
我发现在服务器块中定义访问日志,然后尝试在位置块中覆盖它并没有任何区别。我必须在每个位置块中定义不同的访问日志规则。 - Asa Carter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接