Я пытаюсь настроить приложение django с Gunicorn, Supervisor и Nginx.
Nginx работает отлично.
Когда я проверяю статус супервизора, у меня появляется следующее сообщение:
FATAL Excited too quickly
Я думаю, что проблема в Gunicorn, так как я не могу заставить его работать самостоятельно.
Я также использую virtualenv. Итак, это моя структура проекта:
- home
- justine
- bin
- include
- my_project_name
- app
- my_project
- settings.py
- wsgi.py
- manage.py
- requirements.txt
- logs
- run
- share
- lib
- locale
- requirements.txt
- pip-selfcheck.json
В / home / bin у меня есть файл gunicorn_start
:
NAME="justine_cv"
DIR=/home/justine/my_project_name/
USER=justine
GROUP=justine
WORKERS=3
BIND=unix:/home/justine/run/gunicorn.sock
DJANGO_SETTINGS_MODULE=/my_project.settings
DJANGO_WSGI_MODULE=/my_project.wsgi
LOG_LEVEL=error
cd $DIR
source ../bin/activate
export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE
export PYTHONPATH=$DIR:$PYTHONPATH
exec ../bin/gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $WORKERS \
--user=$USER \
--group=$GROUP \
--bind=$BIND \
--log-level=$LOG_LEVEL \
--log-file=-
Также у меня есть файл супервизора в etc/supervisor/conf.d/
:
[program:program-name]
command=/home/justine/bin/gunicorn_start
user=justine
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/home/justine/logs/gunicorn-error.log
Когда я пытаюсь запустить Gunicorn на home/justine/
и набирать gunicorn my_project.wsgi:application
, я получаю следующее сообщение об ошибке:
ImportError: No module named my_project.wsgi
[2019-04-27 21:20:14 +0000] [24448] [INFO] Worker exiting (pid: 24448)
[2019-04-27 21:20:14 +0000] [24444] [INFO] Shutting down: Master
[2019-04-27 21:20:14 +0000] [24444] [INFO] Reason: Worker failed to boot.
НО, когда я вхожу в my_project_name
и набираю ту же команду, gunicorn запускается с успехом.
Я думаю, что gunicorn не может найти правильный путь, когда я нахожусь на home/justine/
, но в отношении файлов конфигурации я не вижу, откуда возникает проблема.
Также в каталоге run
нет файла gunicorn.sock
.
Я перепробовал все ответы на другие вопросы, но безуспешно.
Если это поможет, я буду следовать этому уроку: https://simpleisbetterthancomplex.com/tutorial/2016/10/14/how-to-deploy-to-digital-ocean.html