“(111:连接被拒绝)连接到上游时,客户端:” | Django、Gunicorn、Nginx - 服务器错误 (500)

"(111: Connection refused) while connecting to upstream, client: " | Django, Gunicorn, Nginx - Server Error(500)

我已经部署了我的 Django 应用程序,但出现 500 错误。当我输入主页 url "mysite.com" 时,它会出现错误并且不会加载,但是当我输入 "mysite.com/careers" 或 "mysite.com/sell" 时,它们恰好是完整的静态页面,它出现得很漂亮。不提供主页和其他具有动态数据的页面。 在阅读了一些相关问题之后,这似乎是一个 Gunicorn 问题。 这里可能是什么问题?下面是来自 Nginx 的错误日志。

Nginx 错误日志:

2019/12/16 17:30:15 [error] 20605#20605: *1370 connect() to unix:/run/gunicorn.sock failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xx.xx, server: xxx.xxx.xxx.xxx, request: "GET / HTTP/1.1", upstream: "http://unix:/run/gunicorn.sock:/", host: "mysite.com"

nginx.conf 文件:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##
        client_max_body_size 0;
        proxy_max_temp_file_size 0;
        proxy_buffering off;
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;
...
}

nginx 站点可用文件:

server {
    listen 80;
    server_name xxx.xxx.xxx.xxx mysite.com www.mysite.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/djangoadmin/pyapps/MySite;
    }

    location /media/ {
        root /home/djangoadmin/pyapps/MySite;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

如果您能帮助解决这个问题,我们将不胜感激。我快到了!

我相信您从这个可能遇到的问题列表中得到了一些东西:

  1. 您没有 gunicorn 运行 因为任何错误或者它还没有启动。

  2. 您的 gunicorn 进程正在侦听另一个 unix 套接字路径或 ip 端口。

  3. 你的socket权限不正确,nginx因为权限问题无法连接

我的问题的根源是 运行 我的服务器上的新迁移失败。 所有受影响的页面都是显示与这些模型关联的数据的页面,或者它们是外键的页面。 在寻找答案的过程中,我犯了一个严重的生产错误,即短暂地转向 Debug:On。希望编程大神见谅。谢谢你们。