2023年11月26日发(作者:)

SpringBoot学习(番外篇⼀)------使⽤shell命令或bat⽂件优雅启动Sp。。。

SpringBoot学习(番外篇)------使⽤shell命令或bat⽂件优雅启动SpringBoot项⽬

前⾔

在之前的博⽂中,我们⼀起探究了SpringBoot的使⽤以及和通⽤的技术栈进⾏整合,使⽤SpringBoot开发确实⾮常的便利.那么我们在开发完

成了SpringBoot应⽤,并打包成jar以后,就要在Linux或者Windos Server服务器部署,⼀般来说我们可以使⽤的⽅式来运⾏,

java -jar

但是这样做显的很不专业.在本篇博⽂中,我们将使⽤shell脚本的⽅式来部署SpringBoot应⽤.

正⽂

⾸先我们有⼀个已经打包好的SpringBoot的jar包:

下⾯将通过linux和windos两个不同的服务器来说明

Linux(CentOS)

1. 使⽤两个shell脚本来启动和关闭

在linux下,我们可以通过shell脚本的⽅式来优雅的启动或者关闭SpringBoot应⽤.

⾸先,我们将应⽤的jar包上传到服务器的指定⽬录,这⾥我将其上传到这个⽬录下.

/opt/laojunshan

现在我们来开始编写shell脚本:

1. 使⽤vim命令创建⼀个shell脚本⽂件

#,,

创建⼀个脚本⽂件如果⽂件已经存在则打开该⽂件

vim

2. ⽂件中输⼊脚本内容:

下⾯命令中的代表将控制台的⽇志输出到当前⽬录下.

#!/bin/bash

nohup java -jar 2>&1 &

保存退出,⼀个启动的shell脚本就完成啦!

3. ⽤同样的⽅式创建并编写⼀个关闭的shell脚本

#

创建⼀个关闭应⽤的脚本

vim

脚本的内容如下:

#!/bin/bash

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

if [ ${PID} ];

then

echo 'Application '

echo kill $PID DONE

kill $PID

else

echo 'Application is '

fi

4. 完成了以上步骤以后,我们可以看到,两个shell脚本是灰⾊的:

此时我们的脚本还是不能⽤的,必须要给两个脚本相应的执⾏权限,我们通过下⾯的命令来给两个脚本权限:

#

使脚本具有执⾏权限

chmod +x ./

chmod +x ./

赋予权限以后的shell脚本就变成了绿⾊:

5. 运⾏shell脚本

现在我们的shell脚本都写完了,下⾯就可以通过shell脚本来优雅的启动springboot应⽤了

#springbootjar

启动

./

运⾏这个命令以后,会出现如下界⾯:

说明程序已经运⾏了,这个时候光标还是在运⾏状态的,我们可以来跳出,此时程序还是在后台运⾏的.

#!/bin/sh

## java env

export JAVA_HOME=/opt/java/jdk1.8.0_191

export JRE_HOME=$JAVA_HOME/jre

API_NAME=laojunshan-demo-0.0.1-SNAPSHOT

JAR_NAME=$API_NAME.jar

#PID PID

代表是⽂件

PID=$API_NAME.pid

#

使⽤说明,⽤来提⽰输⼊参数

usage() {

echo "Usage: sh 执⾏脚本.sh [start|stop|restart|status]"

exit 1

}

#

检查程序是否在运⾏

is_exist(){

pid=`ps -ef|grep $JAR_NAME|grep -v grep|awk '{print $2}' `

#10

如果不存在返回,存在返回

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

以上脚本在使⽤的时候要修改⼀下两个地⽅:

1. JDK的位置修改成你⾃⼰服务器的位置

2. API_NAME的值要修改成jar应⽤的名字

3. 别忘了赋予脚本权限

编写并且赋权以后,还是在jar⽬录下运⾏脚本:

#

查看应⽤状态

sh status

#

启动应⽤

sh start

#

关闭应⽤

sh stop

#

重启应⽤

sh restart

运⾏以上命令就可以对应⽤进⾏⾃由的启动和关闭…

Windows Server下使⽤bat脚本启动关闭应⽤

有的时候,服务器不⼀定是linux环境,如果是Windos Server服务器,我们也可以使⽤bat叫本来对服务进⾏启动和关闭

如果在Windos下使⽤sh脚本也是可以的,不过要安装git才可以哦

1. 运⾏后出现窗⼝,窗⼝关闭后服务关闭

脚本如下:

@echo off

java -jar

@pause

这种⽅式启动的时候,会有个DOS窗⼝⼀直存在,如果关闭了窗⼝,对应的java服务也就关闭了

2. 运⾏后没有窗⼝,服务在后台启动,关闭需要结束对应的进程

脚本如下:

@echo off

set path=D:JAVAjdk1.8.0_40jrebin

START "laojunshan" "%path%javaw" -jar

pause

这个脚本需要指定JDK路径,修改jar名称以后,运⾏脚本,窗⼝会关闭,但是服务是不会关闭的.要关闭服务,只需要在任务管理器关闭对应的进程

(⼀般是java进程)

总结