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


当前回答

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

其他回答

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

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

/var/log/nginx/error.log

在终端输入以下命令:

sudo cat /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;
# ...
}

在大多数情况下,可以使用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发出相同的命令。

你可以在这里读到更多。

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