django uwsgi nginx 部署出现 'Permission denied while connecting to upstream' (socket)

参考https://stackoverflow.com/questions/35400393/nginxuwsgidjango-permission-denied-while-connecting-to-upstream-socket

将项目文件转移到了/home/下,解决了问题

 

如果您的nginx服务器无法访问uWSGI套接字,请尝试执行以下步骤:

不要把你的socked放在系统中任何用户的主目录中,尤其是root!对于除该目录的所有者和root之外的任何人,某些unix操作系统默认访问主目录。将nginx用户添加到该用户的私有组(对于大多数系统,每个用户都有自己的主组)可以提供帮助,但它几乎不会对root用户起作用。

检查你的nginx服务器(或你正在使用的任何其他http服务器)运行的用户和组。有时候是www-data,有时是nginx,有时是其他东西。创建套接字时,请确保用户名将匹配运行uWSGI服务器的用户名和uWSGI运行时的组名匹配组(或者您可以交换它)。

检查你的套接字的权限是否至少为660.没有必要为任何人授予权限,所以不要这样做。

检查您的nginx和uWSGI是否都有权访问放置套接字的目录以及所有父目录。

套接字文件的好地方是/ var / run目录(对于某些系统,它是/ run或两者)。它通常作为ramdisk(tmpfs)安装,并且可以为系统中的任何人编写,因此每个用户都可以在这里创建套接字(并访问它们)。如果由于某种原因在您的系统中无法访问,您也可以尝试/ tmp目录。

如果您还要从主目录中直接从nginx提供静态文件,请考虑将nginx添加到您的个人组,以便它可以读取您的主目录和静态文件。

你可能感兴趣的:(django uwsgi nginx 部署出现 'Permission denied while connecting to upstream' (socket))