简介
Supervisor是Linux/Unix系统下的一个进程管理工具。可以监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动重启恢复。
安装
pip install supervisor
配置
1.新建supervisor配置文件目录
mkdir ~/supervisor
mkdir ~/supservisor/config.d
mkdir ~/supervisor/logs
2.配置
vim ~/supervisor/supervisord.conf
复制下边的配置文件至~/supervisor/supervisord.conf中,修改本机ip为当前部署机器的ip
配置文件:
[unix_http_server]
file=~/supervisor/supervisor.sock ;UNIX socket 文件,supervisorctl 会使用
;chmod=0700 ;socket文件的mode,默认是0700
;chown=nobody:nogroup ;socket文件的owner,格式:uid:gid
[inet_http_server] ;HTTP服务器,提供web管理界面
port=*:9010 ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
username=user ;登录管理后台的用户名
password=123 ;登录管理后台的密码
[supervisord]
logfile=~/supervisor/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
logfile_maxbytes=50MB ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
logfile_backups=10 ;日志文件保留备份数量默认10,设为0表示不备份
loglevel=info ;日志级别,默认info,其它: debug,warn,trace
pidfile=~/supervisor/supervisord.pid ;pid 文件
nodaemon=false ;是否在前台启动,默认是false,即以 daemon 的方式启动
minfds=10240 ;可以打开的文件描述符的最小值,默认 1024
minprocs=200 ;可以打开的进程数的最小值,默认 200
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
;serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致
serverurl=http://本机ip:9010 ; 通过HTTP的方式连接supervisord
;包含其它配置文件
[include]
files = ~/supervisor/config.d/*.ini ;可以指定一个或多个以.ini结束的配置文件
3.配置需要守护的程序进程
下列配置以 jupyter 为例,可根据自己需求自行修改
在~/supervisor/config.d 下新建 jupyter.ini 配置文件
vim ~/supervisor/config.d/jupyter.ini
复制下列进程配置文件并按照自己的需求修改:
[program:jupyter]
command=jupyter notebook --ip=0.0.0.0 --port=10022 --no-browser --allow-root
stdout_logfile=~/supervisor/logs/jupyter.out
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true
启动服务
supervisord -c ~/supervisor/supervisord.conf
控制访问
1.web访问
本地ip:9001
账号密码与配置文件一致
2.终端访问
supervisorctl
进入客户端终端
用户密码与配置文件的一致
终端命令
stop jupyter // 表示停止进程
stop all //停止所有进程
help
status
stop program_name
start program_name
restart program_name
tail -f program_name
update
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-10-27 FFmpeg libavutil主要功能概述
2020-10-27 编译程序遇到问题 relocation R_X86_64_32 against `.rodata' can not be used when making a shared object;
2017-10-27 mysql: not unique table/alias error. 如何解决
2014-10-27 directdraw显示yuv视频,出现屏保时,yuv显示不出来,表面丢失
2014-10-27 ddraw 视频下画图 不闪烁的方法
2011-10-27 js Tree - 树形菜单插件