【问题标题】:Problems with fcgi socket via supervisor通过主管的 fcgi 套接字问题
【发布时间】:2013-02-11 00:24:17
【问题描述】:

我通过 supervisor 运行 django 应用程序。

命令:manage.py runfcgi daemonize=false method=prefork socket=/tmp/django.sock pidfile=/tmp/django.pid

应用程序以django 用户身份运行。

ls -al /tmp/django.sock
srwxr-xr-x 1 django www-data 0 2013-02-25 22:18 /tmp/django.sock

Nginx 以www-data 用户身份运行。

Nginx 需要写入权限。但事实并非如此。如何解决?

【问题讨论】:

    标签: django sockets nginx fastcgi supervisord


    【解决方案1】:

    您需要定义一个umask 值,以便正确设置套接字权限:

    manage.py runfcgi daemonize=false method=prefork socket=/tmp/django.sock umask=002 pidfile=/tmp/django.pid
    

    默认为022;从组中删除写入和其他权限。将其切换为002 只会删除其他人的写入,而将其保留给www-data 组。

    【讨论】:

    • 谢谢,但 umask 不适用于“daemonize=false” - umask 仅适用于“daemonize=true”
    猜你喜欢
    • 2013-09-22
    • 2010-10-09
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-14
    • 2021-04-25
    相关资源
    最近更新 更多