如何在 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 服务的详细内容,更多请关注图灵教育其它相关文章!