如何在 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