我收到 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
错误 - 这是一种笨拙的说法,即“某物正在侦听”。 “如果目标文件名不是套接字,也会出现此错误。”