将 Java Spring boot 项目部署为 systemd 服务

将 java spring boot 项目部署为 systemd 服务

如何在 linux 中运行基于 java spring boot 的 web 应用程序?您可以在终端中运行:

java -jar /home/user/your_project_name/your_project_name.jar

登录后复制

但是在这种情况下你无法逃离终端。

第二种方式 – 使用 nohup:

nohup java -jar /home/user/your_project_name/your_project_name.jar &

登录后复制

运行应用程序的更好方法,尤其是在生产服务器上 – 创建 systemd 服务来完全控制它们(启动、停止、查看状态等…)。

我们需要安装java development kit (jdk)。在基于 debian 的系统上安装开源版本:

sudo apt install openjdk-17-jdk -y

登录后复制

oracle java 官方安装程序在这里。

现在找到java二进制文件的完整路径:

which java

登录后复制

您必须看到如下输出:

/usr/bin/java

登录后复制

我们在配置 systemd 文件时使用此路径。

立即学习“Java免费学习笔记(深入)”;

为您的项目创建服务文件:

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

登录后复制

插入以下配置:

[unit]description=webserver daemon[service]execstart=/usr/bin/java -jar /home/user/your_project_name/your_project_name.jar --spring.profiles.active=production --spring.config.location=/home/user/your_project_name/application.propertiesuser=user[install]wantedby=multi-user.target

登录后复制

保存守护程序文件后,重新加载 systemd 管理器配置:

sudo systemctl daemon-reload

登录后复制

重新加载 systemd 管理器配置。这将重新运行所有生成器(请参阅 systemd.generator(7)),重新加载所有单元文件,并重新创建整个依赖关系树。当守护进程重新加载时,systemd 代表用户配置侦听的所有套接字都将保持可访问状态。
该命令不应与重新加载命令混淆。有关更多详细信息,请参阅文档。

下一步 – 启动您的服务:

sudo systemctl start your_project_name.service

登录后复制

项目作为服务运行,但系统重启后无法启动。这里需要启用自动运行:

sudo systemctl enable your_project_name.service

登录后复制

以上就是将 Java Spring boot 项目部署为 systemd 服务的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2607788.html

(0)
上一篇 2025年3月6日 20:31:36
下一篇 2025年2月23日 21:34:44

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • mybatis是什么意思

    MyBatis 是一种开源的持久层框架,简化了 Java 应用程序与数据库之间的交互。其特点包括:基于 XML 配置,易于学习和维护。半自动映射,结合自动和自定义映射功能。延迟加载功能,提高应用程序性能。支持多种主流数据库。简洁的 API,…

    2025年3月6日
    200
  • 值得收藏的15个java成品网站

    本文列出了 15 个有价值的 Java 成品网站:Oracle Java 技术网络:文档、教程、下载和社区支持。Baeldung Java 教程:全面且深入的 Java 教程。Java 官方文档:Java 编程语言的全面文档。Spring …

    2025年3月6日
    200
  • java入门路线一文理清

    对于零基础的 Java 学习者,清晰的学习路线如下:掌握 Java 基础语法和面向对象概念运用 Java 集合框架、输入输出流和多线程编程应用数据库连接、Web 应用构建和后端开发框架进阶理解 JVM、设计模式和高级技术 Java 入门路线…

    2025年3月6日
    200
  • 面试中最常被问到的核心 Java 问题

    以下是一些 Java 技术面试中常见的核心问题: 核心 Java 面试题: Java 平台无关性的原因是什么?为什么 Java 不是纯粹的面向对象编程语言?Java 中堆内存和栈内存的区别是什么?Java 如何使用它们?Java 与 C 语…

    2025年3月6日
    200
  • 定时任务框架选择指南

    在现代软件开发中,高效的定时任务框架至关重要。它可以自动化各种任务,比如发送邮件、更新数据库和执行复杂运算。php小编新一将详细介绍几种常见的定时任务框架,帮助您了解它们的特性和适用于哪些场景。 定时任务框架概述 定时任务框架是一种软件工具…

    2025年3月6日
    200
  • 面试中最常被问到的高级 Java 问题

    高级Java面试题集锦 以下列出一些Java高级面试中常见的问题,涵盖了核心概念、多线程、集合框架等多个方面: == 与 equals() 的区别:深入探讨Java中这两种比较运算符的差异及其应用场景。final、finally 和 fin…

    2025年3月6日
    200
  • 面试中最常被问到的 ReactJS 问题

    参考:ReactJS 什么是反应? 使用react有什么优势? 使用 React 有哪些限制? react 中的 useState() 是什么? react 中的键是什么? 什么是 JSX? 函数式组件和类组件有什么区别? 什么是虚拟 DO…

    2025年3月6日
    200
  • 面试中最常被问到的 Java 问题

    java 8 新特性详解及相关资源 本文将深入探讨 Java 8 中引入的关键特性,并提供相关学习资源。Java 8 的发布带来了许多令人兴奋的改进,极大地提升了开发效率和代码可读性。 Java 8 的新特性: Java 8 引入了 Lam…

    2025年3月6日
    200
  • ReactJS 面试中最常被问到的问题

    参考:ReactJS 什么是反应? 使用react有什么优势? 使用 React 有哪些限制? react 中的 useState() 是什么? react 中的键是什么? 什么是 JSX? 函数式组件和类组件有什么区别? 什么是虚拟 DO…

    2025年3月6日
    200
  • Top most asked JavaScript Questions in Interviews

    javascript核心概念及其他资源 本文涵盖JavaScript中的关键概念,并提供其他编程语言和技术的相关学习资源。 JavaScript数据类型: JavaScript拥有多种数据类型,包括数字(Number)、字符串(String…

    2025年3月6日
    200

发表回复

登录后才能评论