linux下使用supervisor发布flask应用
- 2025-04-02 14:49:43
- 工具
- 48
- shevechco
Supervisor 是用 Python 开发的一套通用的进程管理程序,能监控进程的状态,在进程异常退出时能自动重启,supervisor依赖python,因为我们是python项目,所以环境里面已经包含了python,我之前记录过一个supervisor,那个比较久远了,我们后面就以这个笔记为主。
我们首先安装supervisor
01.apt install supervisor
02.
然后可以将自己的博客创建一个配置。
01.cat /etc/supervisor/conf.d/blog.conf
02.[program:blog]03.directory=/data/blog04.command=/usr/local/bin/gunicorn -c gunicorn_conf.py manager:app05.autostart=true06.autorestart=true07.stdout_logfile=/data/blog/logs/gunicorn.log08.stderr_logfile=/data/blog/logs/gunicorn.error
然后在我们博客目录下创建gunicorn_conf.py配置文件如下,其他配置可以直接查看我之前的笔记:https://sulao.cn/post/319
01.import multiprocessing
02.bind = '0.0.0.0:9090'03.workers = multiprocessing.cpu_count() + 104.worker_class = 'eventlet'05.worker_connections = 200006.pidfile = './gunicorn.pid'07.daemon = 'false'08.timeout = 60
注意上述配置,daemon设置为false,这样就由supervisor接管。
然后我们就可以可以更新supervisor配置并启动配置
01.supervisorctl reload
#设置supervisor开机启动
systemctl enable supervisor
接下来简单介绍下supervisor简单命令
01.supervisorctl status # 查看所有 supervisor 相关的进程的状态
02.supervisorctl start app_name # 启动 app_name 服务(启动 xx 进程)03.supervisorctl stop app_name # 停止 app_name 服务04.supervisorctl restart app_name # 重启 app_name 服务05.supervisorctl update # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启06.supervisorctl reload # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程07.supervisorctl shutdown # 关闭所有任务08.supervisorctl stop all # 停止全部进程
我们也可以直接输入supervisorctl命令进入管理模式
01.supervisorctl
-
标签
- linux
- flask
- supervisor
内容版权声明:除非注明,否则皆为本站原创文章。