Django / uWSGI – 给出502状态码的Nginx:error.log表示“权限被拒绝”

我试图设置我的Django应用程序使用uWSGI和Nginx。 我正在学习这个教程: http : //uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html

我在“使用Unix套接字而不是端口”步骤。 我试过了

uwsgi --socket mysite.sock --wsgi-file test.py 

但它没有工作(作为教程怀疑)。 我在看

 /var/log/nginx/error.log 

它说

 2015/05/11 00:20:17 [crit] 1964#0: *13 connect() to unix:///home/a/Documents/CMS/CMS.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: 192.168.174.131, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/a/Documents/CMS/CMS.sock:", host: "127.0.0.1:8000" 

当我做

 uwsgi --socket mysite.sock --wsgi-file test.py --chmod-socket=666 

它工作,但是当我这样做

 uwsgi --socket mysite.sock --wsgi-file test.py --chmod-socket=664 

它再次给出“权限被拒绝”的错误。 该教程说:“你也可能需要将用户添加到nginx的组(这可能是www-data),反之亦然,这样nginx就可以正确地读写你的套接字了。 我的Ubuntu超级用户是'customUser'。 我做了

 sudo usermod -a -G www-data customUser 

将用户添加到www数据组。 然后我把它放在我的CMS_uwsgi.ini文件(位于我的Django项目的文件夹中):

 [uwsgi] # Django-related settings # the base directory (full path) chdir = /home/a/Documents/CMS # Django's wsgi file module = CMS.wsgi # the virtualenv (full path) home = /home/a/.virtualenvs/CMS # process-related settings # master master = true # maximum number of worker processes processes = 10 # the socket (use the full path to be safe socket = /home/a/Documents/CMS/CMS.sock uid = customUser gid = www-data # ... with appropriate permissions - may be needed chmod-socket = 664 # clear environment on exit vacuum = true 

但是当我这样做的时候仍然给了我一个“权限被拒绝”的错误:

 uwsgi --ini CMS_uwsgi.ini 

我也尝试将我的CMS_uwsgi.ini文件更改为:

 uid = www-data gid = www-data # ... with appropriate permissions - may be needed chmod-socket = 664 

但它仍然返回“权限被拒绝”的错误。 任何想法为什么?

请注意,本教程提到“您可能还需要将用户添加到nginx的组(可能是www-data)或VICE-VERSA”。 我把我的用户添加到万维网数据,但我不知道“反之亦然”部分是什么。