django-Nginx:在CentOS 7上对Gunicorn套接字的权限被拒绝
我正在Django项目部署中工作.我正在由EC2(AWS)提供的CentOS 7服务器中工作.我已尝试通过多种方式修复此错误,但我无法理解我所缺少的内容. 我正在使用ningx和gunicorn来部署我的项目.我创建了具有以下内容的/etc/systemd/system/myproject.service文件:
当我运行sudo systemctl重新启动myproject.service并启用sudo systemctl启用myproject.service时,django.sock文件已正确生成到/ home / centos / myproject_app /中. 我在/ etc / nginx / sites-available /文件夹中创建了nginx conf文件,其内容如下:
之后,我使用以下命令重新启动nginx:
如果我运行命令sudo nginx -t,则响应为:
当我在网络浏览器中访问my_ip时,收到502错误的网关响应. 如果检查nginx错误日志,则会看到以下消息:
我确实尝试了许多更改袜子文件权限的解决方案.但是我不明白如何解决它.我该如何解决此权限错误?…非常感谢 最佳答案
如果myproject_app文件夹下的所有权限都是正确的,并且centos用户或nginx组可以访问这些文件,那么我认为这看起来像是安全性增强Linux(SELinux)问题.
我遇到了类似的问题,但是使用RHEL7.我设法通过执行以下命令解决了该问题:
它与SELinux的安全策略有关,您必须将httpd_t添加到允许域列表中. NGINX博客的这篇帖子可能会有所帮助:NGINX: SELinux Changes when Upgrading to RHEL 6.6 / CentOS 6.6 出于类似的问题,我不久前在How to Deploy a Django Application on RHEL 7上写了一个教程.对于CentOS 7,它应该非常相似. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |