无论Debug设置如何,使用Python和Gunicorn的DigitalCean上的Django都会抛出500错误

时间:2018-03-27 00:14:32

标签: django nginx gunicorn digital-ocean

我真的很困惑。我多年来一直使用相同的设置,他们工作得很好......直到今天。

设定: 关于Gunicorn的Django与DigitalCean上的NGINX Python 3

无论何时我转到某个网址,看起来都会触发500错误,然后会显示500.html模板。但无论Debug设置如何,都会发生这种情况。此外,没有任何内容写入Gunicorn错误。我得到的唯一错误是模板目录中的404。

作为一个完整性检查,以下是我正在使用的一些示例配置。

NGINX地点:

root /home/myname/myrepoproject;

error_page 500 502 503 504 /500.html;
location = /500.html {
    root /home/myname/myrepoproject/myproject/app/templates;
}

NGINX错误:

2018/03/26 17:09:14 [crit] 3267#3267: *35 connect() to unix:/home/myname/myproject/myproject.sock failed (2: No such file or directory) while connecting to upstream, client: XXX.XXX.XXX.XXX, server: ZZZ.ZZZ.ZZZ.ZZZ, request: "GET /500.html/ HTTP/1.1", upstream: "http://unix:/home/myname/myproject/myproject.sock:/500.html/", host: "arecord.domain.name"

Gunicorn ExecStart:

ExecStart=/home/myname/.virtualenvs/myve/bin/gunicorn --error-logfile ~/logs/gunicorn/gunicorn-errors.log --workers 3 --bind unix:/home/myname/myve/myproject.sock production

静态和上传目录有效。

欢迎任何疑难解答提示。

1 个答案:

答案 0 :(得分:0)

根据您发布的错误,您的nginx和gunicorn配置看起来没有套接字的相同位置集,因此无法进行通信。

Nginx正在关注unix:/home/myname/myproject/myproject.sock,但您的gunicorn命令行显示--bind unix:/home/myname/myve/myproject.sock

让它们匹配,它应该有用。