使用Systemd开机启动管理jar包

平日里测试jar包都直接java -jar xxx.jar 这样启动,如果要让其后台运行,也是使用nohup来跑
今天给介绍一个用centos服务的方式启动
假设我们的服务名称就叫lvtao,要启动的也是一个叫lvtao.jar包

sudo vim /etc/systemd/system/lvtao.service

写服务脚本

[Unit]
Description=lvtao Service
Documentation=https://lvtao.net
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar /www/wwwroot/lvtao.net/lvtao.jar
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog

StandError=inherit

[Install]
WantedBy=multi-user.target

参数:
-Xms256m:为 JVM 启动时分配的内存,请按照服务器的内存做适当调整,512 M 内存的服务器推荐设置为 128,1G 内存的服务器推荐设置为 256,默认为 256。
-Xmx256m:为 JVM 运行过程中分配的最大内存,配置同上。
安装包的绝对路径,例如 /www/wwwroot/lvtao.net/lvtao.jar

提示:

如果你不是按照上面的方法安装的 JDK,请确保 /usr/bin/java 是正确无误的。另外,所有的路径要写绝对路径。

管理服务:

# 修改 service 文件之后需要刷新 Systemd
sudo systemctl daemon-reload

# 使 Halo 开机自启
sudo systemctl enable lvtao

# 启动 Halo
sudo service lvtao start

# 重启 Halo
sudo service lvtao restart

# 停止 Halo
sudo service lvtao stop

# 查看 Halo 的运行状态
sudo service lvtao status

标签: JAVA, Linux

相关文章

如何使用Go编写跨平台组件并让Java或PHP调用

在现代软件开发中,跨语言调用是一个常见的需求。假设我们有一个用Go语言编写的组件,我们希望Java或PHP能够直接调用这个组件中对外提供的方法。为了实现这一目标,我们可以使用以下几种方法:1. ...

linux下或macOS中配置maven及加速

下载 Maven 压缩包:访问 Maven 官方下载页面,下载你需要的版本。解压压缩包:将下载的压缩包解压到你选择的目录,例如 /opt/maven:sudo mkdir -p /opt/mav...

javax.validation中数据验证的注解使用与示例

javax.validation 是 Java 提供的一个用于数据验证的库,其中定义了多种用于约束和验证数据的注解。下面对常用的验证注解类进行详细介绍,并提供对应的使用示例,每个注解都配有中文注...

编译最新的kkFileView并使用docker打包

kkFileView 是一个开源的文件预览服务,支持多种文件格式的在线预览。本文将详细介绍如何编译 kkFileView 的最新版本,并将其打包成 Docker 镜像。1. 环境准备在开始之前,...

Spring Boot 内置的常用工具类整理

Spring Boot 在核心库中提供了一系列常用的工具类,涵盖了断言、对象处理、集合操作、文件与资源处理、IO 流、反射和 AOP。这些工具类帮助开发者提高代码的简洁性和可维护性。本文将对这些...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件