各位 我当前用gunicorn + flask 的方式,用supervisor启动并监控,gunicorn是gevent加2个进程,supervisor配置如下:
[program:web]
directory=/usr/local/Web/app
command=python cli.py runserver
autostart=true
autorestart=true
startsecs=3
process_name=%(process_num)s
numprocs=2
stderr_logfile=/usr/local/Web/app/logs/err-%(process_num)s.log
stdout_logfile=/usr/local/Web/app/logs/out-%(process_num)s.log
pythonpath=@PYTHONPATH:/usr/local/web_venv/lib/python2.7/site-packages
当启动supervisord的时候 web:1可以正常启动,web:0无法启动:显示如下:
(web_venv) [root@godie conf.d]# supervisorctl
web:0 FATAL Exited too quickly (process log may have details)
web:1 RUNNING pid 22010, uptime 0:05:35
求助 如何让supervisor可以同时监控这两个进程呢?
supervisor 只是一個進程守護,如果你的command單獨運行不會有問題,那麼supervisor就不會有問題
你現在試試不要開supervisor,直接運行python cli.py runserver能正常運行麼
1,使用gunicorn啟動flask不應該使用使用python來啟動,而是使用
gunicorn myproject:app
參考guncicorn;2,這裡的兩個進程應該使用gunicorn的配置來控制,就是類似於supervisor守護gunicorn(如果掛掉了就重新啟動), gunicorn管理兩個flask程序(把web請求發送給flask處理)。
希望對你有幫助。