centos7.X系统yum安装的supervisor版本是3.X,版本较python工具安装的低java
yum -y install supervisor
yum -y remove supervisor
yum install python-setuptools
easy_install supervisor
a) 经过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,以下所示:python
mkdir /etc/supervisord.d echo_supervisord_conf > /etc/supervisord.conf
而后查看路径下的supervisord.conf。在文件尾修改配置git
[include] files = supervisord.d/*.ini
建立一个.ini文件,放在目录"/etc/supervisord.d/github
[program:app-portal] ;程序名称,终端控制时须要的标识 directory=/data/services/app-portal/ ; 命令执行的目录 environment=JAVA_HOME="/usr/local/jdk/",JAVA_BIN="/usr/local/jdk/bin",java="/usr/local/jdk/bin/java" ; 进程环境变量 command=/usr/local/jdk/bin/java -Xms2g -Xmx2g -jar /data/services/app-portal/app-portal.jar ; 运行程序的命令 autostart=true ;自动启动 autorestart=true ; 程序意外退出是否自动重启 user=root ; 进程执行的用户身份 startsecs=5 priority=1 stopasgroup=true killasgroup=true stdout_logfile=/data/logs/supervisor/%(program_name)s.log stderr_logfile=/data/logs/supervisor/%(program_name)s.log
运行supervisord,查看是否生效shell
supervisord -c /etc/supervisord.conf ps -ef | grep MGToastServer
# dservice for systemd (CentOS 7.0+) # by aiker (https://github.com/donxan) [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
将文件拷贝至"/usr/lib/systemd/system/supervisord.service"centos
systemctl enable supervisord
systemctl is-enabled supervisord
supervisorctl restart <application name> ;重启指定应用 supervisorctl stop <application name> ;中止指定应用 supervisorctl start <application name> ;启动指定应用 supervisorctl restart all ;重启全部应用 supervisorctl stop all ;中止全部应用 supervisorctl start all ;启动全部应用