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/blog
04.
command=/usr/local/bin/gunicorn -c gunicorn_conf.py manager:app
05.
autostart=true
06.
autorestart=true
07.
stdout_logfile=/data/blog/logs/gunicorn.log
08.
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() + 1
04.
worker_class = 'eventlet'
05.
worker_connections = 2000
06.
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

202504021459535143881309.png

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sulao.cn/post/1013

相关推荐