Каков оптимальный способ отладки gunicorn?
Я пытаюсь развернуть свое первое приложение Django на heroku. Gunicorn выдает мне эту ошибку: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
В этом ответе https://stackoverflow.com/a/55623889 команда gunicorn app:application --preload -b 0.0.0.0:5000
, как утверждается, выдает подробное сообщение об ошибке, но, как говорится в комментариях, неясно, какие слова на что заменять. Например, где-то я видел, что нечто подобное вызывается командой <name of my app>.wsgi
. Что еще хуже, имя моего приложения Django в локалке отличается от имени приложения на Heroku.
Также мне не ясно, нужно ли вызывать это прямо из терминала (внутри виртуальной среды) или я должен использовать что-то вроде gunicorn CLI.
Так какой же на самом деле лучший способ выяснить, что не получается у gunicorn?
Я сталкивался с подобными проблемами в прошлом. Надеюсь, это может помочь:
Убедитесь, что
.gunicorn
установлен в вашей активированной виртуальной среде проекта, запустивpip freeze
в терминале, чтобы проверить его установку. Если его нет в списке, в активированной виртуальной среде запуститеpip install gunicorn
или, если вы используетеpipenv
, запуститеpipenv install gunicorn
. Не забудьте обновить файлrequirements.txt
, выполнивpip freeze > requirements.txt
В
Procfile
, который находится внутриproject_directory
, введите синтаксис:
web: gunicorn your_django_project_name.wsgi --log-file -
N.B: Между;
должен быть пробел.--log-file
и-
рядом с ним.web:
иgunicorn
часть кода.
Наконец, добавьте, зафиксируйте и продвиньте изменения на сервер heroku.