502错误与nginx + uwsgi + django

我已经尝试在nginxuwsgi上configurationdjango,尝试访问localhost时遇到502错误的网关错误

这是我的/ etc / ngingx / sites-available / default文件

server { server_name testapp1.com www.testapp1.com; access_log /var/log/nginx/testapp1.com.access.log; location / { uwsgi_pass unix:///var/run/uwsgi/app/testapp1/socket; include uwsgi_params; } } 

这是我的testapp1.ini文件在/ etc / nginx / apps-available /

 [uwsgi] thread=3 master=1 env = DJANGO_SETTINGS_MODULE=testapp1.settings module = django.core.handlers.wsgi:WSGIHandler() chdir = /home/paul/apps/testapp1 socket = /run/uwsgi/testapp1/socket logto = /var/log/uwsgi/testapp1.log 

这是uwsgi.log文件

2012年7月10日21:49:38 – ***开始uWSGI 1.0.3-debian(32bit)
[星期二7月10 21:49:38 2012] ***星期二7月10日21:49:38 2012年 – 编译
与版本:4.6.2 2012年2月20日10:06:16星期二7月10日21:49:38
2012 – 当前工作目录:/ 2012年7月10日21:49:38 – 写作
pidfile到/ run / uwsgi / app / testapp1 / pid Tue Jul 10 21:49:38 2012 –
检测二进制path:/ usr / bin / uwsgi-core Tue Jul 10 21:49:38 2012 –
setgid()到33星期二7月10日21:49:38 2012 – setuid()到33星期二7月10日
2012年21:49:38 – 你的内存页面大小是4096字节星期二7月10日
21:49:38 2012 – uwsgi socket 0绑定到UNIX地址
/ run / uwsgi / app / testapp1 / socket fd 5 2012年7月10日星期二21:49:38 – bind():
没有这样的文件或目录[socket.c line 107]

我没有改变nginx.conf文件。

错误信息已经足够清楚了:

 Tue Jul 10 21:49:38 2012 - uwsgi socket 0 bound to UNIX address /run/uwsgi/app/testapp1/socket fd 5 Tue Jul 10 21:49:38 2012 - bind(): No such file or directory [socket.c line 107] 

你看到区别:

  socket = /run/uwsgi/testapp1/socket 

和:

  uwsgi_pass unix:///var/run/uwsgi/app/testapp1/socket; 

提示: / var / run / uwsgi / app / testapp1 / socket

其他情况下,这是一个权限问题(不像你的情况下的套接字路径拼写错误)。 在这种情况下,你可以添加到uwsgi ini文件

 [uwsgi] uid = www-data gid = www-data chmod-socket = 664 chown-socket = www-data