Linux下部署启动spring boot项目jar包

Spring Boot应用的几三种运行方式:

1.运行Spring Boot的应用主类

2.使用Maven的Spring Boot插件mvn spring-boot:run来运行

3.打成jar包后,使用java -jar XX.jar运行(非后台运行,无法将shell命令行释放,关闭terminal后项目也随之关闭了。)


下面我们分别针对Windows和Linux/Unix两种环境,整理一下如何配置后台运行的方法。

Windows,直接使用这款软件:AlwaysUp


配置方式很简单,我们只需要把Spring Boot应用通过mvn install打成jar包,然后编写一个java -jar yourapp.jar的bat文件。再打开AlwaysUp,点击工具栏的第一个按钮,如下图所示,选择上面编写的bat文件,并填写服务名称。


完成了创建之后,在列表中可以看到我们配置的服务,通过右键选择Start xxx就能在后台将该应用启动起来了。

Linux/Unix(nohup 命令)

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ][ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。

所以,我们只需要使用nohup java -jar yourapp.jar &命令,就能让yourapp.jar在后台运行了。但是,为了方便管理,我们还可以通过Shell来编写一些用于启动应用的脚本,比如下面几个:

关闭应用的脚本:stop.sh

#!/bin/bash

PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk'{ print $2 }')

if[ -z"$PID"]

then

echoApplication is already stopped

else

echokill$PID

kill$PID

fi


启动应用的脚本:start.sh

#!/bin/bash

nohup java -jar yourapp.jar --server.port=8888 &


整合了关闭和启动的脚本:run.sh,由于会先执行关闭应用,然后再启动应用,这样不会引起端口冲突等问题,适合在持续集成系统中进行反复调用。

#!/bin/bash

echostop application

sourcestop.sh

echostart application

sourcestart.sh


原文参照:http://blog.didispace.com/spring-boot-run-backend/

你可能感兴趣的:(Linux下部署启动spring boot项目jar包)