Django Nginx:403禁止的Nginx/1.12.1(Ubuntu)

Django Nginx:403禁止的Nginx/1.12.1(Ubuntu),django,nginx,Django,Nginx,我以前从未配置过任何生产服务器,我正在尝试配置nginx并不断得到403禁止的错误。我想不出发生这种事的原因 以下是完整的错误报告: [crit] 25145#25145: *1 connect() to unix:/home/albert/deploy_test/django_env /run/gunicorn.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.1.118

我以前从未配置过任何生产服务器,我正在尝试配置nginx并不断得到403禁止的错误。我想不出发生这种事的原因

以下是完整的错误报告:

    [crit] 25145#25145: *1 connect() to unix:/home/albert/deploy_test/django_env
/run/gunicorn.sock failed (13: Permission denied) while connecting to 
upstream, client: 192.168.1.118, server: 192.168.1.118, request: "GET / 
HTTP/1.1", upstream: "http://unix:/home/albert/deploy_test/django_env
/run/gunicorn.sock:/", host: "192.168.1.118"
这是我的
/etc/nginx/sites available/deployproject.conf

(我删除了默认配置并创建了如下符号链接:
sudo ln-s/etc/nginx/sites available/deployproject.conf/etc/nginx/sites enabled/deployproject.conf


是我用来部署我的应用程序的完整教程。在这里,我只是尝试部署最原始的默认django应用程序,但在我真正的应用程序中,我使用django作为服务器端,因此nginx似乎不需要提供静态和所有这些功能。

文件权限。不正确的文件权限是“403禁止”错误的另一个原因。建议与NGINX一起使用目录的标准设置755和文件的标准设置644。NGINX用户还需要是文件的所有者

尝试更改web目录上的权限

sudo chown -R albert:www-data /webdirectory
sudo chmod -R 0755 /webdirectory

将所有站点移动到
网站目录中
不要将目录和文件留在根目录中。

文件权限。不正确的文件权限是“403禁止”错误的另一个原因。建议与NGINX一起使用目录的标准设置755和文件的标准设置644。NGINX用户还需要是文件的所有者

尝试更改web目录上的权限

sudo chown -R albert:www-data /webdirectory
sudo chmod -R 0755 /webdirectory

将所有站点移动到
webdirectory
中,不要将目录和文件留在根目录中。

您是否查看了此处的gunicorn文档,其中有如何配置nginx的示例

是否可以尝试通过TCP而不是unix套接字运行gunicorn,在上游示例\u项目\u服务器中将服务器替换为:

服务器192.168.0.7:8000失败\u超时=0;
gunicorn中的设置是什么?您可以通过以下方式通过TCP绑定到localhost,以检查您的unix套接字是否存在问题:

--绑定127.0.0.1:8000

您是否看过这里的gunicorn文档,其中有如何配置nginx的示例

是否可以尝试通过TCP而不是unix套接字运行gunicorn,在上游示例\u项目\u服务器中将服务器替换为:

服务器192.168.0.7:8000失败\u超时=0;
gunicorn中的设置是什么?您可以通过以下方式通过TCP绑定到localhost,以检查您的unix套接字是否存在问题:

--绑定127.0.0.1:8000

是的,通过权限的切换不知何故做到了这一点。我改变了其中的一些,所以这不容易哪一个是准确的,但是的。感谢您提到建议使用nginx的权限。是的,使用权限的twicking以某种方式做到了这一点。我改变了其中的一些,所以这不容易哪一个是准确的,但是的。感谢您提及建议与nginx一起使用的许可。