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
相关推荐
后端AI实验室1 小时前
我把一个生产Bug的排查过程,交给AI处理——20分钟后我关掉了它
java·ai
凉年技术3 小时前
Java 实现企业微信扫码登录
java·企业微信
xlp666hub4 小时前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
狂奔小菜鸡4 小时前
Day41 | Java中的锁分类
java·后端·java ee
hooknum4 小时前
学习记录:基于JWT简单实现登录认证功能-demo
java
张宏2365 小时前
原子操作 (基于Linux 应用层 C 语言)
linux
程序员Terry5 小时前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
NE_STOP5 小时前
MyBatis-缓存与注解式开发
java
码路飞5 小时前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero5 小时前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端