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

centos systemd方式配置jar开机自启

将后端服务(一个 Java 应用程序)注册为 CentOS 上的 systemd 服务,可以让你方便地管理其启动、停止和重启。以下是详细步骤:

创建 systemd 服务单元文件

创建一个 systemd 服务单元文件,例如 /etc/systemd/system/demo.service:

vim /etc/systemd/system/demo.service

在文件中添加以下内容:

[Unit]
Description=Ruoyi Backend Service
After=network.target

[Service]
User=root
ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /home/wl_call_center/wl-admin.jar
SuccessExitStatus=143
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

[Unit] 部分
Description: 服务的简短描述,这里是“Ruoyi Backend Service”,表明这是一个名为Ruoyi的后端服务。
After: 定义服务启动的顺序。这里After=network.target意味着这个服务将在网络目标达成后启动,确保网络功能可用。
[Service] 部分
User: 指定运行此服务的用户。这里设置为root,意味着服务将以root用户权限运行。出于安全考虑,通常不推荐以root用户运行服务,除非绝对必要。
ExecStart: 定义启动服务时执行的命令。这里ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /home/wl_call_center/wl-admin.jar指定了使用Java运行一个jar包,-Xms256m和-Xmx512m分别设置了Java虚拟机(JVM)的初始堆大小和最大堆大小为256MB和512MB。
SuccessExitStatus: 定义服务成功退出的状态码。这里SuccessExitStatus=143意味着当服务以状态码143退出时,systemd会认为服务是成功退出的。状态码143通常表示服务收到了SIGTERM信号并被正常终止。
Restart: 定义服务失败时的重启策略。这里Restart=on-failure意味着如果服务失败(即非成功退出状态),systemd将尝试重启服务。
RestartSec: 定义在尝试重启服务之前等待的时间。这里RestartSec=10s意味着如果服务失败,systemd将等待10秒后再尝试重启服务。
[Install] 部分
WantedBy: 定义服务的安装目标,即哪些目标(target)需要这个服务。这里WantedBy=multi-user.target意味着这个服务在安装时会被添加到multi-user.target(多用户目标),这是系统启动后的一个标准目标,提供了网络和多用户功能。

重新加载 systemd 配置

创建或修改服务单元文件后,需要重新加载 systemd 配置:

sudo systemctl daemon-reload

启动和管理服务

执行命令:

  1. systemctl start demo.service
  2. systemctl status demo.service,出现如下图所示,代表成功了(我这边找了我之前的图)
    在这里插入图片描述
#开机自启
systemctl enable demo.service
#服务状态
systemctl status demo.service
#启动服务
systemctl start demo.service
#停止服务
systemctl stop demo.service
#重启服务
systemctl restart demo.service

日志查看

使用 journalctl 查看服务日志:

journalctl -u demo.service -f

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

相关文章:

  • MySQL的安装
  • Edge浏览器网页设置深色模式/暗模式
  • mac homebrew配置使用
  • 三 BH1750 光感驱动调试1
  • Linux 系统中两个不同的目录/proc/device-tree 和 /dev
  • gesp(C++五级)(1)洛谷:B3941:[GESP样题 五级] 小杨的锻炼
  • 数据结构:栈(Stack)和队列(Queue)—面试题(二)
  • ssh2-sftp-client和ssh2配合使用js脚本快速部署项目到服务器
  • 力扣264. 丑数 II
  • 后端接口获取的对象包含图片,渲染后端图片,拼接地址渲染,循环列表,vue+uniapp
  • Visual Studio Code (VSCode)为当前项目设置保存时自动格式化
  • 禅道 ip 地址变换后的修改
  • 有限元分析学习——Anasys Workbanch第一阶段笔记(11)横梁中点挠度仿真结果与计算结果对比
  • 罗德与施瓦茨ZN-Z135,26.5G经济型网络分析仪校准套件
  • CSS语言的语法
  • iOS - runtime总结
  • Github 2025-01-13 开源项目周报 Top15
  • 【图像去噪】论文精读:High-Quality Self-Supervised Deep Image Denoising(HQ-SSL)
  • MyBatis 性能优化
  • c++自定义String
  • 【Pytorch实用教程】PyTorch 中如何输出模型参数:全面指南
  • 战略与规划方法——深入解析波士顿矩阵(BCG Matrix):分析产品组合的关键工具
  • Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)
  • python中bug修复案例-----数据类型不匹配错误导致的bug修复
  • 如何在应用或系统中正确解析和渲染淘宝商品详情API接口返回的HTML内容?
  • Chromium 132 编译指南 Windows 篇 - 生成构建文件 (六)