ubuntu20.04设置开机自启动jar(依赖其他服务)

目的:

有的时候我们的项目是部署在物理机上给其他公司员工使用,对于他们来说操作越简单越好。所以我需要实现将我的jar部署在ubuntu上,实现开机自启。(我的项目依赖emqx服务)。

步骤:

切换到system目录

bash 复制代码
cd /etc/systemd/system

创建服务文件

sims.service(服务名字你们自定义)

文件内容如下:

bash 复制代码
[Unit]
Description=Spring Boot Application sims
After=network.target emqx.service

[Service]
User=main
ExecStart=/opt/env/jdk-11.0.20/bin/java -jar /usr/sims/v1.0.0/sims-0.0.1-SNAPSHOT.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=no
RestartSec=5

[Install]
WantedBy=multi-user.target

解释

After=network.target emqx.service 因为sims依赖了emqx 所以需要在emqx后启动

User为你的用户 我的用户名称为main 这里要确保你执行的jar的目录下 你的main用户有该权限

ExecStart前面的为你的java目录 可以通过which java 命令获取到

Restart=no 在你kill掉后就不会重启 如果Restart=on-failure 那么失败后就会重启这个服务 比如kill掉

注意

每次修改完毕后记得 执行

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart sims.service

检查服务状态

bash 复制代码
systemctl status sims.service

服务停止

bash 复制代码
sudo systemctl stop sims.service
相关推荐
七七powerful13 小时前
AI+运维提效,ssl-cert-monitoring(SSL证书监控系统)2.0开发完毕
运维·网络协议·ssl
青山师13 小时前
CompletableFuture深度解析:异步编程范式与源码实现
java·单例模式·面试·性能优化·并发编程
星辰_mya13 小时前
Docker “超级大厨”
运维·docker·容器·面试·架构
微风凉凉起13 小时前
复现漏洞 CVE-2026-31431
服务器
AI人工智能+电脑小能手13 小时前
【大白话说Java面试题 第42题】【JVM篇】第2题:JVM内存模型有哪些组成部分?
java·开发语言·jvm·面试
码云骑士13 小时前
jwt入门介绍
linux·运维·数据库
AI人工智能+电脑小能手13 小时前
【大白话说Java面试题 第43题】【JVM篇】第3题:GC分为哪两种?Young GC 和 Full GC有什么区别?
java·开发语言·jvm·后端·面试
Carino_U13 小时前
并发编程之CPU缓存架构&Disruptor
java·缓存·架构
小雅痞13 小时前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
!沧海@一粟!13 小时前
NAT映射回流解决内网通过公网映射访问内部服务器
运维·网络