如何仅在root上禁用登录nginx?
我想为特定服务器存储除“/”以外的任何uri的访问日志。然而,由于根uri上频繁的ping,我不想禁用该uri的日志记录。我正在使用nginx1.10.3。相关配置为:如何仅在root上禁用登录nginx?,nginx,Nginx,我想为特定服务器存储除“/”以外的任何uri的访问日志。然而,由于根uri上频繁的ping,我不想禁用该uri的日志记录。我正在使用nginx1.10.3。相关配置为: http { access_log /var/log/nginx/access.log; } server { access_log off; location ~ ^/$ { access_log /var/log/nginx/example_com_access.log combin
http {
access_log /var/log/nginx/access.log;
}
server {
access_log off;
location ~ ^/$ {
access_log /var/log/nginx/example_com_access.log combined;
}
}
我尝试了几种访问日志参数的配置。比如说,
- 打开服务器的日志记录并关闭位置的日志记录
- 使用不同的方法匹配位置(即=、~、(无)等)
http {
access_log off;
}
server {
location ~ ^/$ {
access_log /var/log/nginx/example_com_access.log combined;
}
}
它将只记录对位置~^/$
的请求,并意味着您需要根据位置
或服务器
块添加访问日志
其他选择可以是:
http {
access_log on;
}
server {
access_log off;
location ~ ^/$ {
access_log /var/log/nginx/example_com_access.log combined;
}
}
试试这个:
http {
access_log off;
}
server {
location ~ ^/$ {
access_log /var/log/nginx/example_com_access.log combined;
}
}
它将只记录对位置~^/$
的请求,并意味着您需要根据位置
或服务器
块添加访问日志
其他选择可以是:
http {
access_log on;
}
server {
access_log off;
location ~ ^/$ {
access_log /var/log/nginx/example_com_access.log combined;
}
}
根据,实际上,您可以在位置中的if
语句中使用access\u log
指令。此外,您可以直接在从nginx 1.7.0开始的access\u log
指令中使用if
条件参数
实现这一点的最佳方法可能是在nginx 1.7.0及更新版本中使用access\u log
的map
和if
参数:
map $uri $loggable {
/ 0;
default 1;
}
access_log /path/to/access.log combined if=$loggable;
否则,根据您的配置,您可能会假设多个位置
指令可以应用于给定的请求,但事实并非如此-只有单个位置
可以匹配给定的请求
因此,最好的办法是:
location = / { access_log off; }
根据,实际上,您可以在位置中的if
语句中使用access\u log
指令。此外,您可以直接在从nginx 1.7.0开始的access\u log
指令中使用if
条件参数
实现这一点的最佳方法可能是在nginx 1.7.0及更新版本中使用access\u log
的map
和if
参数:
map $uri $loggable {
/ 0;
default 1;
}
access_log /path/to/access.log combined if=$loggable;
否则,根据您的配置,您可能会假设多个位置
指令可以应用于给定的请求,但事实并非如此-只有单个位置
可以匹配给定的请求
因此,最好的办法是:
location = / { access_log off; }
我还尝试了在多个配置中为access_日志使用if=condition参数。我还尝试了在多个配置中为access_日志使用if=condition参数。我希望保留http块上的access_日志作为服务器块的默认值,而无需进一步的access_日志配置。有什么方法可以做到这一点吗?您是否只在
服务器
块中尝试了访问\u注销
您不想为root用户创建日志的域,这样,您可以继续在http
块上使用access\u log,但在服务器块级别部分禁用日志。我希望保留http块上的access\u log作为服务器块的默认值,而无需进一步的access\u log配置。有什么方法可以做到这一点吗?您是否只在服务器
块中尝试了access\u log off
,用于您不希望根目录有日志的域,这样您就可以继续在http
块上使用access\u log-on
,但在服务器块级别部分禁用日志