Supervisor安装和配置

安装 EPEL 仓库
sudo yum install epel-release
安装 Supervisor
sudo yum install supervisor
启动和启用 Supervisor
sudo systemctl start supervisord # 启动 Supervisor
sudo systemctl enable supervisord # 设置为开机自启
创建 Supervisor 子配置文件
vi /etc/supervisord.d/java-pro.ini

-------------内容–下---------------------
[program:java-wjdc]
directory = /opt/jenkins_work/workspace/wjdc-admin-5026/wjdc-admin/target
command = nohup java -jar wjdc-admin.jar --spring.config.location=/opt/jenkins_work/conf/wjdc/application.yml > nohup.log &
priority = 10
numprocs = 1
autostart = true
autorestart = true
startretries = 50
stopwaitsecs = 25
startsecs = 15
exitcodes = 0
user = root
group = root
stdout_logfile = /var/log/java-wjdc-out.log
stderr_logfile = /var/log/java-wjdc-err.log
redirect_stderr = true
stdout_logfile_maxbytes = 5MB
stdout_logfile_backups = 10

---------------内容—上------------------
重新读取 Supervisor 配置
sudo supervisorctl reread
sudo supervisorctl update
启动 Java 应用程序
sudo supervisorctl start my-java-app
查看应用程序状态和日志
sudo supervisorctl status
启动某个项目
sudo supervisorctl start my_service
重启某个项目
sudo supervisorctl restart my_service

supervisorctl 子配置参数解析
[program:java-wjdc]
[program:java-wjdc]: 定义一个名为 java-wjdc 的程序块,后续的参数都是针对这个程序配置的。
directory = /opt/jenkins_work/workspace/wjdc-admin-5026/wjdc-admin/target
directory: 指定程序启动时的工作目录。在这里,指向 JAR 文件路径,这样 Java 进程在启动时相关的文件(如配置文件)都很容易被找到。
command = nohup java -jar wjdc-admin.jar --spring.config.location=/opt/jenkins_work/conf/wjdc/application.yml > nohup.log &
command: 指明启动程序的命令。使用 nohup 使程序在后台运行,> nohup.log 将标准输出定向到 nohup.log 文件中,& 表示在后台执行。

priority = 10
priority: 该进程的启动优先级,较低的数字表示较高的优先级。可以用于启动多个进程时决定它们的启动顺序。

numprocs = 1
numprocs: 启动的进程数。在这里设置为1,表示只启动一个实例。

autostart = true
autostart: 设置为 true 表示当 Supervisor 启动时,该程序将自动启动。

autorestart = true
autorestart: 设置为 true 表示如果程序崩溃,Supervisor 将自动重启该程序。

startretries = 50
startretries: 启动失败后尝试的次数。在尝试启动程序时,若失败,Supervisor 将重试最多50次。

stopwaitsecs = 25
stopwaitsecs: 当发送停止请求时,Supervisor 等待的时间(秒),在这段时间内如果没有退出进程,Supervisor 将强制停止它。

startsecs = 15
startsecs: 启动后需要等待的时间(秒),在这段时间内,如果进程崩溃,Supervisor 实际将其视为启动失败。

exitcodes = 0
exitcodes: 定义哪些退出代码表示正常退出,0 表示正常退出。

user = root
user: 运行该程序的用户,通常最好使用非 root 用户以提高安全性。

group = root
group: 指定运行该程序的用户组。

stdout_logfile = /var/log/java-wjdc-out.log
stdout_logfile: 指定标准输出日志文件的路径,方便后续查看程序输出。

stderr_logfile = /var/log/java-wjdc-err.log
stderr_logfile: 指定标准错误日志文件的路径,用于记录错误信息。

redirect_stderr = true
redirect_stderr: 如果设置为 true,则将标准错误输出重定向到 stdout_logfile。也就是将错误输出合并到正常输出中。

stdout_logfile_maxbytes = 5MB
stdout_logfile_maxbytes: 设置标准输出日志文件的最大字节数。当文件超过指定大小后,Supervisor 将自动进行轮转。

stdout_logfile_backups = 10
stdout_logfile_backups: 指定标准输出日志文件的备份数量,即保留的历史日志文件的数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值