yum install -y python-setuptools
tar -zxf supervisor-3.2.0.tar.gz
cd supervisor-3.2.0
python setup.py install
安装过后如果命令找不到:
1)添加Python的bin目录到环境变量PATH中。
2)把命令拷贝到/usr/bin/
vim /etc/supervisord.conf
根据需要修改:
[unix_http_server]
file=/tmp/supervisor.sock ; socket文件的路径,supervisorctl用XML_RPC和supervisord通信就是通过它进行的。如果不设置的话,supervisorctl就不能用了。
[supervisord]
logfile=/tmp/supervisord.log ; supervisor主进程的log输出文件
loglevel=info ; log输出等级,默认是info
nodaemon=false ; 是否后台启动 ,默认后台启动
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; 这个是supervisorctl本地连接supervisord的时候用到的,
[inet_http_server]
port=127.0.0.1:10001 ; 通过浏览器访问时的ip:port
[include]
#当需要管理的进程比较多时,可以每个进程写一个配置文件,放在同一个目录下,
然后通过该参数指定目录,supervisor将会识别include,并读取files路径指向的文件。
files = /proc_confs/*
[program:example]
command= /bin/cat
process_name=%(program_name)s
umask=022
autostart=true
autorestart=true
startsecs=10
startretries=5
user=xxx
stdout_logfile=/home/xxx/%(program_name)s_out
stdout_capture_maxbytes=1MB
stderr_logfile=/home/xxx/%(program_name)s_out
serverurl=AUTO
1)supervisord
启动supervisord服务,并以子进程的形式启动配置的进程。
supervisord -c /home/xxx/supervisord.conf -c 指定配置文件的位置,不指定默认查找/etc/supervisord.conf
2)supervisorctl
可以对supervisord中子进程的运行状态进行查看,不仅可以查看同一台主机上的supervisord,也可以查看远程的。
#看需要通过-c 指定配置文件,默认是/etc/supervisord.conf
supervisorctl status 查看状态
supervisorctl reload 重新载入配置文件
supervisorctl start [all]|[x] 启动所有/指定的程序进程
supervisorctl stop [all]|[x] 关闭所有/指定的程序进程
supervisorctl shutdown 关闭supervisord
4、也可以通过浏览器进行管理
url = xxx.xxx.xxx.xxx:10001