项目部署环境:
python: 3.4
centos: 6.5
项目放在虚环境中,web服务器用gunicorn, 想用supervisor来管理进程,一通配置之后,项目死活起不来,各种尝试,不用supervisor管理的时候,项目能正常运行。
flask的项目,项目运行:
source /app/bin/activate
cd /app/project/
gunicorn cli:app -w 4 -p 0.0.0.0:8000
supervisord.conf:
command=/app/bin/python3.4 /app/bin/gunicorn cli:app -w 4 -p 0.0.0.0:8000
dirctory = /app/project
这样配置一直不行,最后想了个办法,写了一个脚本start.sh,把启动命令放到脚本里:
source /app/bin/activate
cd /app/project/
gunicorn cli:app -w 4 -p 0.0.0.0:8000
然后修改supervisord.conf:
command=bash /app/start.sh
supervisorctl reload
supervisorctl start app
这样项目就运行起来了,具体为什么这样可以解决问题,目前不太清楚,有时间会查查