说明
supervisor 运行原理类似 nginx 有个主配置文件
安装 supervisor
官网飞机票
pip install supervisor
配置文件 配置
;可以是ini文件 也可以是conf文件
;supervisord.conf
[unix_http_server] ;必配
file = /Users/wuqiang/project/python/demo/supervisor.sock ;必配自 定义位置sock位置 如果没有 请手动创建空 sock 文件
[supervisord] ;必配
;nodaemon = true ; 是否在前台启动,默认是 false,即以 daemon 的方式启动 如需后台启动 请设置 false
logfile = /Users/wuqiang/project/python/demo/supervisord.log ; 日志文件,默认是 $CWD/supervisord.log 程序自动生成
pidfile = /Users/wuqiang/project/python/demo/supervisord.pid ; pid 文件 程序自动生成
[supervisorctl] ;必配 调用 supervisorctl命令需要用到
serverurl = unix:///Users/wuqiang/project/python/demo/supervisor.sock ;注意注释分号位置 需要和路径有空格 不然报文件找不到错误,和 unix_http_server file需要一致 注意开头为 unix:// + 完整绝对路径
[rpcinterface:supervisor] ;必配 固定格式
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[program:demo] ;选配 单个项目配置 demo为项目名称
command = 启动的命令或者可执行文件路径
autorestart = true ;是否在挂了之后重启,意外关闭后会重启,比如kill掉!
;[inet_http_server] ;HTTP服务器,提供web管理界面 选配
;port=127.0.0.1:9001 ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
;username=user ;登录管理后台的用户名
;password=123 ;登录管理后台的密码
启动supervisord命令
以下命令 需要在虚拟环境中执行
supervisord -c 刚刚创建 supervisord.conf文件的绝对路径
结束supervisord命令
supervisorctl -c 刚刚创建 supervisord.conf文件的绝对路径 shutdown
查看 supervisord 进程命令
supervisorctl -c 刚刚创建 supervisord.conf文件的绝对路径 status
结束 某个项目 命令
supervisorctl -c 刚刚创建 supervisord.conf文件的绝对路径 stop 项目名
启动 某个项目 命令
supervisorctl -c 刚刚创建 supervisord.conf文件的绝对路径 srtart 项目名
重启 某个项目 命令
supervisorctl -c 刚刚创建 supervisord.conf文件的绝对路径 resrtart 项目名