当前位置: 首页 > 图灵资讯 > 技术篇> 将 Java Spring boot 项目部署为 systemd 服务

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

来源:图灵教育
时间:2024-12-25 17:20:23

将 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.properties
user=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 服务的详细内容,更多请关注图灵教育其它相关文章!