/ / Django на Digitalocean з Python і Gunicorn кидає 500 помилок незалежно від налаштувань Debug - django, nginx, gunicorn, digital-ocean

Django на Digitalocean з Python і Gunicorn кидає 500 помилок незалежно від налаштувань налагодження - django, nginx, gunicorn, digital-ocean

Я дуже заплутався. Я використовував ті ж налаштування протягом багатьох років, і вони працювали чудово ... до сьогоднішнього дня.

Налаштування: Django на Gunicorn з NGINX на Digitalocean Python 3

У будь-який час, коли я переходжу до URL, вона виглядає як помилка 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 для відповіді № 1

З помилок, які ви опублікували, схоже, що ваші конфіги nginx і gunicorn не мають однакового набору розташування сокету, тому вони не можуть спілкуватися.

Nginx дивиться unix:/home/myname/myproject/myproject.sock але ваш командний рядок gunicorn говорить --bind unix:/home/myname/myve/myproject.sock.

Зробіть їх відповідними і вони повинні працювати.