我在使用django与fastcgi+nginx。我想知道在这种情况下,日志(错误)被存储在哪里?
在大多数情况下,你可以使用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
发出同样的命令。
你可以多读一点[这里][1]。
运行此命令,检查错误日志。
tail -f /var/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
命令来定位你选择的文件。
find /usr/ -path "*/nginx/*" -type f -name '*.log'
,其中/usr/
是你希望开始搜索的文件夹。
cd /var/log/nginx/
cat error.log