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
相关推荐
nbsaas-boot3 分钟前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
行百里er22 分钟前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
C_心欲无痕32 分钟前
Dockerfile:构建 Docker 镜像
运维·docker·容器
玄〤35 分钟前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
zz_nj1 小时前
工作的环境
linux·运维·服务器
J_liaty1 小时前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
极客先躯1 小时前
如何自动提取Git指定时间段的修改文件?Win/Linux双平台解决方案
linux·git·elasticsearch
亲爱的非洲野猪2 小时前
Java锁机制八股文
java·开发语言
C_心欲无痕2 小时前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
rgeshfgreh2 小时前
C++字符串处理:STL string终极指南
java·jvm·算法