1.介绍
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon
,并监控进程状态,异常退出时能自动重启。
2.安装
由于使用Python开发的,所以我们可以用pip
来安装。1
sudo pip install supervisor
如果是 Ubuntu 系统,还可以使用 apt-get 安装。1
apt-get install supervisor
3.配置
安装完 supervisor 之后,可以运行echo_supervisord_conf 命令输出默认的配置项,也可以重定向到一个配置文件里:1
echo_supervisord_conf > /etc/supervisord.conf
打开配置文件,主要修改最后两行内容,设置配置文件目录并将注释去掉。1
vim /etc/supervisord.conf
1 | [unix_http_server] |
创建放置配置文件的目录1
mkdir -p /etc/supervisor
在目录/etc/supervisor
下新建配置文件1
vim /etc/supervisor/demo.ini
并添加内容:1
2
3
4
5
6
7
8
9
10
11
12
13[program:demo]
directory = /home/demo
command = ./demo.app
autostart = true
startsecs = 5 ; 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
user = root ; 启动用户
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 50MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数
stdout_logfile = /home/demo/log/supervisor/run.log ; 需要事先创建好目录,否则会启动失败
stderr_logfile = /home/demo/log/supervisor/run.err.log ; 需要事先创建好目录,否则会启动失败
运行supervisor
,到这里就部署完成了。1
supervisord -c /etc/supervisord.conf
查看demo
是否运行成功。1
supervisorctl status demo
4.常用命令
1 | supervisorctl status # 查看所有进程的状态 |