当前位置: 首页 > backend >正文

在 Ubuntu 系统中,将 JAR 包安装为服务

在 Ubuntu 系统中,将 JAR 包安装为服务可以通过 systemd 来实现。以下是详细的操作步骤:

准备工作

确保 JAR 文件路径和 Java 运行时环境已准备好。验证 Java 是否可用:

java -version

创建 systemd 服务文件

systemd 的服务文件通常位于 /etc/systemd/system/ 目录下。使用 sudo 权限创建一个新的服务文件:

sudo nano /etc/systemd/system/myapp.service

编辑服务文件并添加以下内容:

[Unit]
Description=My Java Application
After=network.target[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/data/server
ExecStart=/usr/bin/java -jar /data/server/myapp.jar
Restart=always
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"[Install]
WantedBy=multi-user.target

如果不清楚 JAVA_HOME 路径,可以使用以下命令查找:

readlink -f $(which java)

设置权限

确保服务文件的权限正确:

sudo chmod 644 /etc/systemd/system/myapp.service

重新加载 systemd 配置

每次修改或新增服务文件后,需要重新加载 systemd 配置:

sudo systemctl daemon-reload

启动服务

启动新创建的服务:

sudo systemctl start myapp

设置开机自启

如果希望服务在系统启动时自动运行,启用服务:

sudo systemctl enable myapp

检查服务状态

查看服务是否正常运行:

sudo systemctl status myapp

查看日志

如果服务启动失败,可以查看日志以排查问题:

journalctl -u myapp

查看实时日志:

sudo journalctl -u myapp.service -f

通过以上步骤,可以将 JAR 包成功安装为 Ubuntu 系统服务,并确保其能够正常运行和自动启动。

http://www.xdnf.cn/news/6575.html

相关文章:

  • LongRefiner:解决长文档检索增强生成的新思路
  • Redis + ABP vNext 构建分布式高可用缓存架构
  • IntelliJ IDEA克隆项目失败的解决方法
  • Tomcat发布websocket
  • 笔试强训:Day5
  • FPGA: UltraScale+ bitslip实现(方案+代码)
  • 【递归、搜索和回溯】穷举vs暴搜vs深搜vs回溯vs剪枝
  • 【向量模型 + HNSW 参数如何选择】
  • 用栈实现+-*/计算器
  • GPU八卡A100使用INT4-W4A16量化大模型实验
  • Manus AI 原理深度解析第三篇:Tools
  • 什么是DHCP?
  • JavaScript零基础入门笔记:狂神版
  • C# Try Catch Finally 执行顺序是什么?有返回值呢?
  • Openlayers:如何注册一个新的坐标系统
  • web第二次课后作业--设计一个注册登录系统
  • MyBatis:从入门到深度理解
  • 从入门到实战:时序图核心知识与高效绘制全解析(附模板)
  • 如何利用芯片模型提升终端PCB的SIPI热仿真精度
  • 如何让open-mpi在不同版本的OS上运行
  • shell常用语法
  • 晶振的核心参数
  • 会计要素+借贷分录+会计科目+账户,几个银行会计的重要概念
  • 从 Vue3 回望 Vue2:组件设计升级——Options API vs Composition API
  • OpenResty Manager 介绍与部署(Docker部署)
  • C++算法(22):二维数组参数传递,从内存模型到高效实践
  • ERP知识手册【第三弹:INV(库存管理)】
  • Windows软件插件-写mp3
  • 2021-10-25 C++三的倍数含五
  • 动态规划之数列