Spring Boot 应用部署的三种方式

本次主要讨论Spring Boot 打成 Jar 包后的三种部署方式。

  • java -jar
  • nohup
  • systemd

由于 Jar 包中包含了 Tomcat ,因此可以直接通过对 Jar 操作,实现和 Tomcat 启动 War 包一样。
此处并不涉及对 docker 容器部署的讨论。

java -jar

命令:

java -jar my.jar

这种方式是最为常见的启动方式。在启动时,控制台会打印应用启动时的信息。如果通过 Xshell 等工具打开窗口进行启动,当关闭窗口时或者使用 CTRL + C后,应用会停止。

这种方式只适合临时测试使用。

nohup

nohup java -jar my.jar & 

这种方式可以解决上一种,因为关闭窗口或执行终止命令,导致退出的问题。

以这种方式启动时,应用会在后台运行,控制台输出的日志会被写入当前文件夹的 nohup.out 中。

如果想要停止应用,可以先使用 jps -l 来查看PID 和应用。然后使用 kill -9 ,便可以停止应用。

systemd

这种方式针对 SpringBoot 来说,管理起来非常的方便和高效。直接将应用注册为服务,借助 systemctl 命令来管理应用。
比上面一种来说,不用找到指定的 jar 所在的路径,全局可用。

1.编写一个 service 文件,my.service

[Unit]
Description=my service
After=syslog.target

[Service]
User=root
ExecStart=/var/my/my.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target
  • ExecStart :表示需要启动的jar所在位置。

2.然后将 my.service 复制到指定的位置:

cp my.service /etc/systemd/system/

3.执行以下命令启动jar

systemctl enable my.service
systemctl start my.service

4.停止和重启

systemctl stop my.service
systemctl restart my.service

5.查看控制台输出日志

journalctl -u my.service

你可能感兴趣的:(SpringBoot,java)