Я впервые пытаюсь развернуть свое приложение 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, чтобы вы могли понять, почему возникает ошибка.
Вы также можете попробовать включить режим отладки, который должен сообщить вам, почему приложение дает сбой.