使用supervisor纳管java进程,自动重启服务

简介: 使用supervisor守护java进程,实现服务智能管理,自动重启。

supervisor能守护前台进程,实现服务的管理,包括服务开机自启动,关机自停止,服务优先级,日志管理,以及进程崩溃自动重启等,借助supervisor我们能更方便、更智能地对线上环境java服务的管理。
本文基于CentOS7系统,安装supervisor软件包
yum install supervisor -y

因为supervisor的子配置文件是位于/etc/supervisord.d/*.ini,所以创建需要守护的java服务配置文件
vi /etc/supervisord.d/java-.ini

[program:projectname]
directory = /usr/local/projectname
environment = JAVA_HOME="/usr/local/jdk1.8.0_201",PATH="$JAVA_HOME/bin:$PATH:/root/soft/node/bin",CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
command = /usr/local/jdk/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/local/jdk1.8.0_201/jre/lib/ext:/usr/local/jdk
priority = 10
numprocs = 1
autostart = true
autorestart = true
startretries = 50
stopwaitsecs = 25
startsecs = 15
exitcodes = 0
user = root
group = root
stdout_logfile = /var/log/projectname.log
stderr_logfile = /var/log/projectname.log
redirect_stderr = true
stdout_logfile_maxbytes = 5MB
stdout_logfile_backups = 10

设置supervisor服务本身开机自启动
systemctl enable supervisor

启动supervisor服务
systemctl start supervisor

启动/停止/重启/查看守护的java服务
supervisorctl start/stop/reload/status projectname

目录
相关文章
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
708 1
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
636 1
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
307 6
java调用服务报错400
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
663 6
|
存储 数据采集 搜索推荐
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
本篇文章探讨了 Java 大数据在智慧文旅景区中的创新应用,重点分析了如何通过数据采集、情感分析与可视化等技术,挖掘游客情感需求,进而优化景区服务。文章结合实际案例,展示了 Java 在数据处理与智能推荐等方面的强大能力,为文旅行业的智慧化升级提供了可行路径。
Java 大视界 -- Java 大数据在智慧文旅旅游景区游客情感分析与服务改进中的应用实践(226)
|
分布式计算 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用(186)
本篇文章探讨了Java大数据技术在智慧养老服务需求分析与个性化服务匹配中的应用。通过整合老年人健康数据与行为数据,结合机器学习与推荐算法,实现对老年人健康风险的预测及个性化服务推荐,提升养老服务的智能化与精准化水平,助力智慧养老高质量发展。
|
数据库
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
|
数据库
【YashanDB知识库】服务器重启后启动yasom和yasagent进程时有告警
本文介绍了YashanDB在特定场景下的问题分析与解决方法。当使用yasboot重启数据库后,yasom和yasagent进程虽启动成功但出现告警,原因是缺少libnsl.so.1库文件或环境变量配置错误。解决步骤包括:检查系统中是否存在该库文件,若不存在则根据操作系统类型安装(有外网时通过yum或apt,无外网时创建符号链接),若存在则调整环境变量配置,并重新启动相关进程验证问题是否解决。
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
1358 7