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

相关文章

Java中线程池遇到父子任务示例及避坑

在Java中使用线程池可以有效地管理和调度线程,提高系统的并发处理能力。然而,当涉及到父子任务时,可能会遇到一些常见的Bug,特别是在子线程中查询数据并行处理时。本文将通过示例代码展示这些常见问...

java中异步任务的实现详解

在Java中实现异步任务是一种提高应用程序性能和响应性的常用技术。异步编程允许某些任务在等待其他任务完成时继续执行,从而避免了阻塞。本文将介绍几种在Java中实现异步任务的方法,并讨论它们的解决...

解密 ClassFinal 加密的 Java Jar包

ClassFinal 是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework;可避免源码泄漏或字节码被反编译。要点...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件