centos systemd方式配置jar开机自启

embedded/2025/1/12 7:55:02/

将后端服务(一个 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.ppmy.cn/embedded/153238.html

相关文章

如何设置通过Visual Studio(VS)打开的C#项目工具集?

在Visual Studio(VS)中,C#项目通常不直接涉及“工具集”的设置,因为C#编译器(csc.exe)是.NET Framework或.NET SDK的一部分,而不是像C项目那样依赖于特定的编译器版本或工具集。然而&#xff0c…

矩阵和向量点乘叉乘元素乘

Date: 2025.01.07 Author: Xin Pan 回顾下矩阵和向量的各种乘法。 向量 点乘 又叫做点积、内积、数量积、标量积。 a [ a 1 , a 2 , . . . , a n ] a[a_1,a_2,...,a_n] a[a1​,a2​,...,an​]和 b [ b 1 , b 2 , . . . , b n ] b[b_1,b_2,...,b_n] b[b1​,b2​,...,bn​…

玄机-第一章 应急响应-webshell查杀的测试报告

目录 一、测试环境 二、测试目的 三、操作过程 Flag1 Flag2 Flag3 Flag4 四、结论 一、测试环境 靶场介绍:国内厂商设置的玄机靶场,以应急响应题目著名。 地址:https://xj.edisec.net/challenges/25 靶机IP:161.189.92.25…

国产编辑器EverEdit - 打印与打印预览

1 打印与打印预览 1.1 应用场景 如果需要打印代码或打印编辑的文字,而又不想使用Word/WPS等软件, EverEdit自己也提供了一个不错的打印功能。 注:业界没有几个编辑器还在“打印预览”上下功夫,EverEdit的“打印预览”功能算是文…

kvm虚拟机网络桥接和读取ip

操作步骤和桥接模式配置总结: 操作步骤总结 1. 配置桥接网络 br0 在主机上创建桥接网络 br0,并绑定物理网卡 enp1s0: sudo brctl addif br0 enp1s0 sudo ip addr flush dev enp1s0 sudo ip link set enp1s0 up sudo ip link set br0 up为桥接…

基于php的web系统漏洞攻击靶场设计与实践

web系统漏洞攻击靶场 摘 要 互联网极速发展的同时,也会带来一些安全性的风险,一些不为人知的安全问题也逐渐暴露出来。近年来,媒体不断披露了许多网络安全事故,许多网络应用程序被黑客攻击,导致内部数据外泄&#xf…

高级 SQL 技巧:提升数据查询与分析能力

一、窗口函数(Window Functions) 窗口函数是一种特殊的 SQL 函数,它能够对一组行进行计算,而不需要将这些行聚合为单个输出行。窗口函数通常与 OVER 子句一起使用,定义一个窗口,即一组行的集合。 1. 排名函数 ROW_NUMBER():为每一行分配一个唯一的序号,序号在窗口内是…

CDA数据分析师一级经典错题知识点总结(1)

1、运算符的优先级: 、>、and、or 2、销售漏斗模型主要观测粗细,斜率,流速,体形几个方面;最需要关注流速。 3、波士顿矩阵 4、订单详情表应该连接在人货场中的“货”。 5、堆叠条形图属于构成类图表。 6、在Exce…