我使用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发出相同的命令。
你可以在这里读到更多。
其他回答
在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;
# ...
}
我在寻找另一种解决方案。
错误日志,默认情况下,在任何配置设置之前,在我的系统(x86 Arch Linux)上,在:
/var/log/nginx/error.log
错误存储在nginx日志文件中。你可以在nginx配置文件的根目录中指定:
error_log /var/log/nginx/nginx_error.log warn;
在带Homebrew的Mac OS X上,默认情况下在以下位置找到日志文件:
/usr/local/var/log/nginx
cd /var/log/nginx/
cat error.log
我在/usr/local/nginx/logs/*目录中找到了它。
推荐文章
- 如何在Django模板中获得我的网站的域名?
- 在django Forms中定义css类
- 我应该在.gitignore文件中添加Django迁移文件吗?
- SQLAlchemy是否有与Django的get_or_create等价的函数?
- 如何选择一个记录和更新它,与一个单一的查询集在Django?
- Django REST框架:向ModelSerializer添加额外字段
- 如何在django上自动化createsuperuser ?
- 如何将Django QuerySet转换为列表?
- 如何直接从测试驱动程序调用自定义的Django manage.py命令?
- 有nginx access_log和error_log日志的STDOUT和STDERR的主进程
- 在Python Django中运行单元测试时,如何禁用日志记录?
- Django CSRF检查Ajax POST请求失败
- 如何重命名一个模型字段使用南方?
- Django修复Admin复数
- 如何在Django上列出urlpatterns(端点)?