我有多个站点,每个站点都有自己的uwsgi配置文件,如下所示:
[uwsgi]
...
uid = nginx
gid = mysite
chown-socket = nginx:mysite
...
所以我的套接字在/ var / sockets /:
下srwxr-xr-x 1 nginx mysite 0 Sep 13 20:12 mysite_uwsgi.sock
我的应用程序路径是 / srv / www / mysite / ,它也在nginx:mysite下,否则当我想上传文件时,nginx服务将无法访问文件夹。 (所有文件夹低于755,文件644)
通常,文件夹是 drwxr-xr-x 6 nginx mysite 和文件 -rw-r - r-- 1 nginx mysite 。当我上传文件时,它会上传为
我的virtualenv(venv文件夹)也在 nginx:mysite (755以下的所有文件夹,文件644)下。这是否会在将来给我带来麻烦?我还能做什么?
答案 0 :(得分:0)
如果linux完成工作,nginx不会对文件夹(操作系统)赋予权限。 Nginx通常只会创建一个用户www-data巫婆你正在使用的wsgi解释器,例如gunicorn或fastcgi。 您希望成为文件上载目标的文件夹,您给予文件夹的权限多于文件的权限,文件夹的权限不同于文件的权限。
这样想,权限764例如是十进制但是764意味着什么?我们将三位数字7-6-4分开并将每个数字转换为二进制数字给我们111-110-100,在所有权限中它们用于读取,写入和执行。所以你给了:
第一个数字111 - rwe,允许用户读取读取文件,写入文件并执行 第二个数字110-rw,允许该组的用户进行读写 第三位数字100 - 其他用户读取文件而不是写入或执行。
这适用于文件和目录,您可以使用chmod更改属性。