8

我尝试在 nginx 和 uwsgi 上配置 django,尝试访问 localhost 时遇到 502 bad gateway 错误

这是我的 /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;
    }
}

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

[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 - *** 在 [2012 年 7 月 10 日星期二 21:49:38] 开始 uWSGI 1.0.3-debian(32 位) *** 2012 年
7 月 10 日星期二 21:49:38 - 编译
版本:2012 年 2 月 20 日 10:06:16
2012 年 7 月 10 日星期二 21:49:38 的 4.6.2 - 当前工作目录:/ 2012 年 7 月 10 日星期二 21:49:38 - 将
pidfile 写入 /run/uwsgi/app/testapp1 /pid 2012 年 7 月 10 日星期二 21:49:38 -
检测到二进制路径:/usr/bin/uwsgi-core 2012 年 7 月 10 日星期二 21:49:38 -
setgid() 到 2012 年 7 月 10 日星期二 21:49:38 至 33 - setuid () 到
2012 年 7 月 10 日星期二 21:49:38 33 - 您的内存页面大小为 4096 字节 2012 年 7 月 10 日星期二
21:49:38 - uwsgi 套接字 0 绑定到 UNIX 地址
/run/uwsgi/app/testapp1/socket fd 5 2012 年 7 月 10 日星期二 21:49:38 - 绑定():
没有这样的文件或目录 [socket.c 第 107 行]

我没有更改 nginx.conf 文件。

4

2 回答 2

22

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

[uwsgi]                                                                                                          
uid = www-data
gid = www-data
chmod-socket = 664
chown-socket = www-data
于 2012-10-23T16:10:49.353 回答
14

错误信息很清楚:

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

于 2012-07-11T12:36:56.163 回答