Supervisor是一个用于监控和管理进程的工具。它可以在Unix-like系统中启动、停止、重启和管理后台进程,确保这些进程始终保持运行状态。
yum check-update 更新yum软件包索引
yum install epel-release -y 下载eprl源
yum install supervisor -y 直接yum下载supervisor
创建编辑管理进程的配置文件
vim /etc/supervisord.d/myapp.conf
[program:myapp] #myapp可以换成服务的名字
command=/data/java/bin/java -javaagent:/data/skywalking-agent/skywalking-agent.jar -jar -Xms2048m -Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./ myapp-1.0.0-RELEASE.jar --server.port=8081 > nohup.out 2>&1 & #指定java进程运行命令,java要写绝对路径
directory=/data/jar #程序所在的工作目录
user=tom #指定运行进程的用户
autostart=true #如果设置为 true,当Supervisor启动时,该进程会自动启动
autorestart=true # 如果设置为 true,当进程意外终止时,Supervisor会自动重新启动该进程
stderr_logfile=/var/log/myapp.err.log #标准错误输出的日志文件路径
stdout_logfile=/var/log/myapp.out.log #标准输出的日志文件路径
注意修改读取配置文件的参数
vim /etc/supervisord.conf
修改为我们创建的配置文件路径在最底部
systemctl start supervisord 启动supervisord
systemctl status supervisord 查看服务状态
systemctl enable supervisord 配置开机自启
supervisorctl reread 重启加载配置文件
supervisorctl update 运行并更新配置 运行了reread之后运行update
supervisorctl status 运行后查看指定进程状态的命令
supervisorctl start myapp 启动 控制进程的命令#[program:myapp]这里定义的名字
supervisorctl stop myapp 停止
supervisorctl restart myapp 重启
使用了supervisor之后重启服务直接kill掉之前的进程即可自动重启。