套接字 – wsgi nginx错误:连接到上游时权限被拒绝
关于这一点似乎有很多关于StackOverflow的问题,但遗憾的是没有任何对我有用. 我在nginx上遇到502坏网关,以及日志上的以下内容:connect()到… myproject.sock连接到上游时失败(13:权限被拒绝) 我在ubuntu上运行wsgi和nginx,我一直在关注this guide from Digital Ocean.我显然正确配置wsgi因为uwsgi -s myproject.sock –http 0.0.0.0:8000 –module app – callable app工作,但我继续获取nginx权限被拒绝错误,我不明白为什么: 在遇到this question和this other one之后,我更改了.ini文件并添加了chown-socket,chmod-socket,uid和gid参数(也尝试设置前两个,或者,以及几个不同的权限设置 – 和即使是最宽容的也行不通). This one seemed promising,但我不相信selinux安装在我的Ubuntu上(运行sudo apt-get删除selinux给出“套件’selinux’没有安装,所以没有删除”和找到/ -name“selinux”没有显示任何东西) .不过,为了以防万一,我也尝试了this post推荐的内容.卸载apparmor(sudo apt-get install apparmor)也无法正常工作. 每次我做一个更改,我运行sudo服务nginx重启,但我只看到502网关错误(和我读取日志时的权限被拒绝错误). 这是我的nginx配置文件:
.conf文件:
.ini文件:
(如果它有帮助,这些是我的数字海洋机器的规格:Linux 3.13.0-43-generic#72-Ubuntu SMP Mon Dec 8 19:35:06 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux) 如果我有什么可以做的,请告诉我,非常感谢你. 最佳答案
我也遵循了该教程并遇到了同样的问题.经过相当多的试验和错误后,以下步骤使我能够成功运行uWSGI和nginx:
我的nginx.config文件:
我的.ini文件效果不好,所以我决定利用uWSGI的广泛参数.这是我用过的东西: uwsgi -s /PATH_TO_PROJECT/PROJECT.sock -w wsgi:app -H / PATH_TO_PROJECT / venv –http-processes = 4 –chmod-socket = 666 –master& 哪里: -s /PATH_TO_PROJECT/PROJECT.sock =我的.sock文件的位置 -w wsgi:app =我的wsgi.py文件和app的位置是我的Flask对象的名称 -H / PATH_TO_PROJECT / venv =我的虚拟环境的位置 –http-processes = 4 =要创建的uWSGI的http进程数 –chmod-socket = 666 =在套接字上设置的权限 –master =允许uWSGI与其主进程管理器一起运行 &安培; =在后台运行uWSGI 希望这可以帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |