使用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

目录
相关文章
|
2月前
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
使用Java创建集成JACOB的HTTP服务
|
23天前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
15 1
|
24天前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
27 1
|
14天前
|
Java 数据库
基于java的汽车服务管理系统(Car Service Management System)
基于java的汽车服务管理系统(Car Service Management System)
13 0
|
2月前
|
JSON Java 数据格式
java调用服务报错400
java调用服务报错400
54 2
|
2月前
|
JSON Java 数据格式
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
java调用服务报错415 Content type ‘application/octet-stream‘ not supported
70 1
|
2月前
|
Java 数据库连接 数据库
Java服务提供接口(SPI)的设计与应用剖析
Java SPI提供了一种优雅的服务扩展和动态加载机制,使得Java应用程序可以轻松地扩展功能和替换组件。通过合理的设计与应用,SPI可以大大增强Java应用的灵活性和可扩展性。
66 18
|
4月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
4月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
132 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
3月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。