我使用Django与FastCGI + nginx。在这种情况下,日志(错误)存储在哪里?


当前回答

对于Mac OS用户,可以在终端中输入nginx -help。

nginx version: nginx/1.21.0
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
             [-e filename] [-c filename] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /opt/homebrew/Cellar/nginx/1.21.0/)
  -e filename   : set error log file (default: /opt/homebrew/var/log/nginx/error.log)
  -c filename   : set configuration file (default: /opt/homebrew/etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

然后,您可以为配置和日志文件找到一些默认路径,在这种情况下:

/opt/homebrew/log/nginx/error.log

其他回答

对于Mac OS用户,可以在终端中输入nginx -help。

nginx version: nginx/1.21.0
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
             [-e filename] [-c filename] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /opt/homebrew/Cellar/nginx/1.21.0/)
  -e filename   : set error log file (default: /opt/homebrew/var/log/nginx/error.log)
  -c filename   : set configuration file (default: /opt/homebrew/etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

然后,您可以为配置和日志文件找到一些默认路径,在这种情况下:

/opt/homebrew/log/nginx/error.log

我的ngninx日志位于这里:

/usr/local/var/log/nginx/*

你也可以检查你的nginx.conf,看看是否有任何指令转储到自定义日志。

运行nginx -t找到nginx.conf文件。

# in ngingx.conf
error_log  /usr/local/var/log/nginx/error.log;
error_log  /usr/local/var/log/nginx/error.log  notice;
error_log  /usr/local/var/log/nginx/error.log  info;

Nginx通常设置在/usr/local或/etc。服务器也可以配置为将日志转储到/var/log。

如果你有一个nginx安装的替代位置,并且所有其他方法都失败了,你可以使用find命令来定位你所选择的文件。

找到/usr/ -path "*/nginx/*" -type f -name '*.log',其中/usr/是你想要开始搜索的文件夹。

我在寻找另一种解决方案。

错误日志,默认情况下,在任何配置设置之前,在我的系统(x86 Arch Linux)上,在:

/var/log/nginx/error.log

在nginx配置文件中设置访问日志的位置是一个很好的实践。使用acces_log /path/如下所示。

keyval $remote_addr:$http_user_agent $seen zone=clients;

server { listen 443 ssl;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers   HIGH:!aNULL:!MD5;

if ($seen = "") {
    set $seen  1;
    set $logme 1;
}
access_log  /tmp/sslparams.log sslparams if=$logme;
error_log  /pathtolog/error.log;
# ...
}
cd /var/log/nginx/
cat error.log