Назад | Перейти на главную страницу

Внутренняя ошибка сервера при запуске Gunicorn как службы

Я впервые пытаюсь развернуть свое приложение Django на VPS Digital Ocean. Я использовал их каплю Django, которая настроить такие вещи за исключением того, что я не использую виртуальную среду.

После добавления кода и некоторых изменений, если я запускаю gunicorn прямо из командной строки, сайт загружается.

Однако, если я запустил Gunicorn как услугу sudo service gunicorn start, Я просто получаю 500 «Внутренняя ошибка службы». В файле журнала nginx нет ошибки. Файл журнала Gunicorn не существует.

Вот команда, которую я запускаю, которая работает (запускается из каталога / home / django):

gunicorn --pythonpath=myproject --bind=0.0.0.0:9000 --config /etc/gunicorn.d/gunicorn.py myproject.wsgi:application

Вот файл /etc/init/gunicorn.conf:

description "Gunicorn daemon for Django project"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectedly trigger a respawn
respawn

setuid django
setgid django
chdir /home/django

exec gunicorn \
    --name=myproject \
    --pythonpath=myproject \
    --bind=0.0.0.0:9000 \
    --config /etc/gunicorn.d/gunicorn.py \
    myproject.wsgi:application

Я новичок в gunicorn и nginx, так что меня это действительно ставит в тупик.

Внутренняя ошибка сервера (HTTP 500) обычно указывает на то, что проблема связана с вашим кодом, а не с приложением веб-сервера.

Вы настроили ведение журнала?
Вы должны записать все 500 ошибок в файл в вашем проекте django, чтобы вы могли понять, почему возникает ошибка.

Вы также можете попробовать включить режим отладки, который должен сообщить вам, почему приложение дает сбой.