使用 uwsgi 的 Django 日志文件权限

Posted

技术标签:

【中文标题】使用 uwsgi 的 Django 日志文件权限【英文标题】:Django log file permissions with uwsgi 【发布时间】:2015-08-31 07:06:59 【问题描述】:

我将 Django 与 uwsgi 一起使用。该进程以www-data 用户身份运行,该用户也是所有日志文件的所有者(包括 uwsgi 和 Django)。当我使用 RotatingFileHandler 登录 Django 时,会创建具有以下权限的新日志文件:

-rw-r--r-- 1 www-data www-data

我已将当前登录的用户 (ubuntu) 添加到 www-data 组,但仍然没有上述日志文件的写入权限。结果,我无法运行python manage.py test

我如何告诉 (i) uwsgi 或 (ii) 日志框架或 (iii) 文件处理程序来创建具有权限 0660 的日志文件,以便 ubuntuwww-data 都可以读取/写入日志文件。

但有一个警告,如果我运行 manage.py test 并且此时发生 logrotation,新的日志文件将归 ubuntu 用户所有,uwsgi 会抱怨。我不知道是否可以通过更改当前用户/组权限结构来解决此问题。

【问题讨论】:

Does python logging.handlers.RotatingFileHandler allow creation of a group writable log file? 的可能重复项 【参考方案1】:

我认为您需要实现自己的子类,如 this SO 中所示

【讨论】:

以上是关于使用 uwsgi 的 Django 日志文件权限的主要内容,如果未能解决你的问题,请参考以下文章

Django 和 Python + uWSGI

Django uWSGI Nginx

uwsgi.xml

NGINX 与 uwsgi 和 django 连接被拒绝

uwsgi IOError:写入错误

ubuntu 配置 nginx + uwsgi + django 记录