如何禁用 Nginx 日志记录?

如何禁用 Nginx 日志记录?

我在配置文件中有以下内容

server {
    listen       80;
    server_name  _;
    access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  off;
    error_log off;

但它仍继续记录example.com虚拟主机。我做错了什么?

答案1

您缺少;server_name 指令。access_log并且off被视为附加的 server_names。

答案2

当然,您可以完全禁用日志记录。只需将日志文件指向 /dev/null 即可。;)

access_log  /dev/null;
error_log /dev/null;

答案3

您可以access_log使用禁用

access_log off;

但是如果您想禁用 error_log,请不要在您的配置文件中使用 error_log 选项。

答案4

这应该很简单,你可以注释掉日志行

server {
    listen       80;
    server_name  _;
    #access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    #access_log  off;
    #error_log off;

如果你确实得到了 crit 错误,你应该这样做:´error_log /dev/null crit;´ 所以它会是:

server {
    listen       80;
    server_name  _;
    access_log  /dev/null crit;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  /dev/null crit;
    error_log /dev/null crit;

相关内容