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


当前回答

在终端输入以下命令:

sudo cat /var/log/nginx/error.log

其他回答

cd /var/log/nginx/
cat error.log

Linux服务器上的日志位置:

Apache – /var/log/httpd/

IIS – C:\inetpub\wwwroot\

Node.js – /var/log/nodejs/

nginx – /var/log/nginx/

Passenger – /var/app/support/logs/

Puma – /var/log/puma/

Python – /opt/python/log/

Tomcat – /var/log/tomcat8

对于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

我在/usr/local/nginx/logs/*目录中找到了它。

在大多数情况下,可以使用lsof(打开文件列表)在不知道配置的情况下找到打开的日志文件。

例子:

找到httpd的PID(同样的概念适用于nginx和其他程序):

$ ps aux | grep httpd
...
root     17970  0.0  0.3 495964 64388 ?        Ssl  Oct29   3:45 /usr/sbin/httpd
...

然后使用lsof和PID搜索打开的日志文件:

$ lsof -p 17970 | grep log
httpd   17970 root    2w   REG             253,15     2278      6723 /var/log/httpd/error_log
httpd   17970 root   12w   REG             253,15        0      1387 /var/log/httpd/access_log

如果lsof没有打印任何东西,即使您希望找到日志文件,也可以使用sudo发出相同的命令。

你可以在这里读到更多。