我真的很困惑。我多年来一直使用相同的设置,他们工作得很好......直到今天。
设定: 关于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
静态和上传目录有效。
欢迎任何疑难解答提示。
答案 0 :(得分:0)
根据您发布的错误,您的nginx和gunicorn配置看起来没有套接字的相同位置集,因此无法进行通信。
Nginx正在关注unix:/home/myname/myproject/myproject.sock
,但您的gunicorn命令行显示--bind unix:/home/myname/myve/myproject.sock
。
让它们匹配,它应该有用。