我使用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发出相同的命令。
你可以在这里读到更多。
其他回答
我在寻找另一种解决方案。
错误日志,默认情况下,在任何配置设置之前,在我的系统(x86 Arch Linux)上,在:
/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命令来定位你所选择的文件。
找到/usr/ -path "*/nginx/*" -type f -name '*.log',其中/usr/是你想要开始搜索的文件夹。
我在/usr/local/nginx/logs/*目录中找到了它。
使用此命令查看错误日志:
tail -f /var/log/nginx/error.log
cd /var/log/nginx/
cat error.log
推荐文章
- Django可选url参数
- 我如何提高一个响应禁止在django
- 使用Django South进行向后迁移
- 如何访问Django模板中的字典元素?
- Pylint在Visual Studio代码中“未解决的导入”错误
- 如何更改Django应用程序的名称?
- 在nginx中,上游是什么意思?
- Nginx中$host和$http_host的区别是什么
- 在django的form字段中默认创建空的queryset
- Nginx 403禁止所有文件
- 在django模型自定义save()方法中,你应该如何识别一个新对象?
- 从URL中获取参数
- PYTHONUNBUFFERED在docker文件中的用途是什么?
- 类没有对象成员
- Django模型“没有显式声明app_label”