当前位置: 首页 > article >正文

supervisor管理启动重启,Java,Go程序Demo

简介
Supervisor 是一款 Python 开发的进程管理系统,允许用户监视和控制 Linux 上的进程,能将一个普通命令行进程变为后台守护进程,异常退出时能自动重启

1、安装

yum -y install supervisor

2、配置默认配置文件

echo_supervisord_conf > /etc/supervisord.conf

3、修改主配置文件配置

vim /etc/supervisord.conf
... ...
# 其他配置保持默认即可
[include]
files = /etc/supervisord.d/*.ini
# 开启web控制台
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9009        ; ip_address:port specifier, *:port for all iface
username=root              ; default is no username (open server)
password=root               ; default is no password (open server)


4、创建子进程 supervisor.ini 配置文件之后放在 /etc/supervisord.d/ 文件夹下
giftpanel go程序
recharge java程序

[program:giftpanel]
#指定进程的工作目录
directory=/opt/gs/giftpanel/
#管理的进程的启动命令
command=/opt/gs/giftpanel/gift-panel  -DserviceCenter=ip -Dnamespace=gs-test -DserverPort=9082
#启动的进程数量	
numprocs=1		
#如果设置为 "true",则在 Supervisor 启动时会自动启动该进程。
autostart=true	
#重试次数
startretries=3	
#是否应自动重新启动该进程
autorestart=true	
#"redirect_stderr" 参数指定了是否将进程的标准错误重定向到标准输出文件中。如果设置为 "false",则标准错误将不会被重定向到标准输出文件中。
redirect_stderr=false
#log目录	
stdout_logfile=/data/supervisorlogs/gs/giftpanel.log
#"stdout_logfile_maxbytes" 参数指定了标准输出日志文件的最大大小,一旦达到这个大小,日志文件将会被回滚。
stdout_logfile_maxbytes=50MB
#"stdout_logfile_backups" 参数指定要保留的标准输出日志文件的备份数量。当日志文件达到指定数量时,最旧的备份将被删除
stdout_logfile_backups=10
#err log目录
stderr_logfile=/data/supervisorlogs/gs/err/giftpanel.err.log
#"stderr_logfile_maxbytes" 参数指定了标准错误输出日志文件的最大大小,一旦达到这个大小,日志文件将会被回滚
stderr_logfile_maxbytes=10MB  

[program:recharge]
command=/usr/lib/jvm/java-1.8.0/bin/java -jar -server -Xms512M -Xmx2048M  -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/gs/recharge/heapdump.hprof -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/data/gs/recharge/gc.log -DserverId=500 -DserviceCenter=ip  -Dnamespace=gs-test -DserverPort=9090 /opt/gs/recharge/recharge-1.0-SNAPSHOT-gs.jar
numprocs=1
autostart=true
startretries=3
autorestart=true
redirect_stderr=false
stdout_logfile=/opt/supervisorlogs/recharge.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stderr_logfile=/opt/supervisorlogs/recharge.log
stderr_logfile_maxbytes=10MB


#如果需要配置分组 后面添加配置
[group:gs]
programs=giftpanel,recharge

5、启动

第一次配置需要重启supervisord

systemctl start supervisord.service

之后添加子配置(*.ini)文件 只需要update即可

supervisorctl update

6,1启动项目未分组情况下

重启所有
supervisorctl restart all
supervisorctl restart recharge
supervisorctl restart giftpanel

停止所有
supervisorctl stop all
supervisorctl stop giftpanel
supervisorctl stop recharge

6,2启动项目分组情况下


重启所有
supervisorctl restart gs:*
重启
supervisorctl restart gs:recharge
supervisorctl restart gs:giftpanel

停止所有
supervisorctl stop gs:*
停止
supervisorctl stop gs:giftpanel
supervisorctl stop gs:recharge

查看log
tail -f /data/supervisorlogs/gs/giftpanel.log


http://www.kler.cn/a/154133.html

相关文章:

  • 【快速入门】前端御三家:HTML、CSS和JS
  • 物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
  • uniapp 微信小程序地图标记点、聚合点/根据缩放重合点,根据缩放登记显示气泡marik标点
  • React--》如何高效管理前端环境变量:开发与生产环境配置详解
  • 使用Web Animations API实现复杂的网页动画效果
  • 31DNS设置
  • C语言KR圣经笔记 4.2返回非整数的函数
  • Mysq8l在Centos上安装后忘记root密码如何重新设置
  • 使用策略模式彻底消除if-else
  • 代币化:2024年的金融浪潮预示着什么?
  • TOP-K问题和向上调整算法和向下调整算法的时间复杂度问题的分析
  • Redis部署-主从模式
  • 【Vulnhub 靶场】【CEREAL: 1】【困难】【20210529】
  • 如何查看当前conda可供安装的所有pytorch版本
  • 智慧工地平台源码,支持多端展示:PC端、手机端、平板端,实现数据同步
  • iview弹窗提交问题优化
  • 安卓开发学习---kotlin版---笔记(一)
  • Mongodb使用killCursors停止运行的cursor
  • JOSEF 快速中间继电器 KZJ-4H-L DC220V 导轨安装
  • Jetson Nano部署YOLOv5与Tensorrtx加速
  • 【LittleXi】2023年广东工业大学腾讯杯新生程序设计竞赛
  • JavaWeb | JavaScript基础
  • 视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型
  • 国内某知名半导体公司:实现虚拟化环境下的文件跨网安全交换
  • 解锁 ElasticJob 云原生实践的难题
  • AWS中使用ECS时ecsTaskExecutionRole缺失