我正在尝试使用Gunicorn,Supervisor和Nginx设置django应用程序。
Nginx工作正常。
当我检查Supervisor的状态时,会显示以下消息:
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
当我尝试从home/justine/
启动Gunicorn并键入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成功开始。
我认为在home/justine/
时,gunicorn找不到正确的路径,但是对于配置文件,我看不到问题出处。
此外,在run
目录中,没有gunicorn.sock
文件。
我已经尝试了所有关于相关问题的stackoverflow答案,但没有成功。
如果有帮助,我正在关注本教程:https://simpleisbetterthancomplex.com/tutorial/2016/10/14/how-to-deploy-to-digital-ocean.html