supervisor 监控
单独一个uwsgi程序运行短时间可能没问题,但万一程序停了,你的网页就不工作了,为了防止出现意外情况,我们需要一个监控程序来监控uwsgi的状况,并根据其状态进行相应的处理,这就是supervisor
安装
sudo apt-get install supervisor
生成默认配置文件模板
echo supervisord_config > flask_supervisord.conf
为配置文件添加一个程序监控:
[program:flask_app] ;项目名,这个和pid对应!! command = uwsgi --ini /home/lighthouse/www/flask_project/uwsgi.ini ;跟手动启动的命令一样stopsignal=QUITautostart=trueautorestart=truestdout_logfile=/var/log/uwsgi/supervisor_flask_app.log ;运行日志stderr_logfile=/var/log/uwsgi/supervisor_flask_app_err.log ;错误日志
启动supervisor
supervisorctl reload
这里可能会报错:error: <class 'socket.error'>, [Errno 2] No such file or directory
手动运行supervisor并指定刚才添加的.conf
sudo supervisord -c flask_supervisord.conf
有一点非常的重要,就是你的uwsgi.ini里要添加一个pid来告诉supervisor所监控的程序:
pidfile = /tmp/flask_app.pid
现在查看uwsgi进程:
ps aux|grep uwsgi
然后kill掉这个进程,看supervisor能否帮你重启:
sudo killall uswgi
现在如果看到新的uwsgi进程,则说明supervisor监控成功