502 错误网关:nginx 和 gunicorn

502 错误网关:nginx 和 gunicorn

我收到 502 错误,这是 nginx 日志:

2015/09/04 15:25:31 [error] 1563#0: *1 connect() to unix:/home/90158/test/test.sock failed (111: Connection refused) while connecting to upstream, client: 142.29.143.200, server: hackerspace.sd72.bc.ca, request: "GET / HTTP/1.1", upstream: "http://unix:/home/90158/test/test.sock:/", host: "hackerspace.sd72.bc.ca"

我是 nginx/gunicorn 的新手,需要知道下一步该做什么来解决这个问题。

/home/90158/test/test.sock存在。

这是我的 nginx conf 文件:

server {
    listen 80;
    server_name hackerspace.sd72.bc.ca;
    access_log /var/log/nginx/test.access.log;
    error_log /var/log/nginx/test.error.log;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/90158/test/src;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/90158/test/test.sock;
    }
}

这是我的 gunicorn 配置文件:

description "Gunicorn application server handling test_project"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
setuid 90158
setgid www-data
chdir /home/90158/test

exec bin/gunicorn --workers 3 --bind unix:/home/90158/test/test.sock src/test_project.wsgi:application

我究竟做错了什么?

答案1

后续故障排除步骤:

  • 该文件实际上是一个套接字吗?
  • 你的 gunicorn 服务器实际上是否正在监听套接字?

根据unix(7),如果套接字不是“侦听套接字”,则 (2)ECONNREFUSED可以返回该connect错误 - 这是一种笨拙的说法,即“某物正在侦听”。 “如果目标文件名不是套接字,也会出现此错误。”

相关内容