Supervisor是一个进程管理工具,当进程中断的时候Supervisor能自动重新启动它。可以运行在各种类unix的机器上,supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
supervisord
运行 Supervisor 时会启动一个进程 supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启。
supervisorctl
是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理。
supervisor是所有进程的父进程,管理着启动的子进程,supervisor以子进程的PID来管理子进程,当子进程异常退出时supervisor可以收到相应的信号量。
因为Supervisor是Python开发的,注意 supervidor 依赖python2.4-2.7 python3下 使用pip无法安装 使用python3 pip安装会报错 。
supervisor安装sudo su - #切换为root用户 python -V yum install -y epel-release yum install -y supervisor systemctl enable supervisord # 开机自启动 systemctl start supervisord # 启动supervisord服务 systemctl status supervisord # 查看supervisord服务状态 ps -ef|grep supervisord # 查看是否存在supervisord进程 vim /etc/supervisord.conf [inet_http_server] ;HTTP服务器,提供web管理界面 port=0.0.0.0:9001 ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性 username=user ;登录管理后台的用户名 password=123 ;登录管理后台的密码 systemctl restart supervisord
浏览器访问 http://192.168.1.53:9001/
输入用户名和密码
cat /etc/supervisord.d/xinyun.ini [program:xinyun-manage] ;environment=JAVA_HOME=/usr/local/jdk1.8.0_131/bin directory=/data/xinyun-manage command=/usr/local/jdk1.8.0_131/bin/java -jar xinyun-manage-0.0.1-SNAPSHOT.jar -Dserver.port=8083 >> log8083.file 2>&1 stdout_logfile=/data/xinyun-manage/supervisor.log autostart=true autorestart=true user=root startsecs=10 priority=1 supervisorctl update
浏览器访问 http://192.168.1.53:9001/



