springboot Jar包 部署到Linux服务器运行,并创建启动脚本

最近开发完一个springboot项目,打包成jar包之后要部署到Linux服务器上面运行,整合了一个启动脚本,顿时项目部署变得无比简单,一分钟内在线上的代码就可以更新了。下面是具体步骤:

1、在idea上写一个maven 打包命令 : clean package -DskipTests=true -f pom.xml (打包跳过测试,打包更快)

在这里插入图片描述
2、运行 package 打包,会在项目根路径target下面生成jar包
在这里插入图片描述
3、接下来我们要把本地项目jar包上传到Linux服务器上面,怎么快速上传呢?主要有两种方式:

一、直接用鼠标拉取jar包到Xftp文件夹下,如下图

在这里插入图片描述

二、直接在用命令上传,比较推荐这种,不用再去打开target文件夹了,也不用再拉取了

我们先安装一个文件上传和下载的工具软件包 :yum -y install lrzsz

lrzsz包安装完成后包括上传rz、下载sz命令

然后我们可以 输入命令 rz -y ,(rz 代表上传, -y 可以强制覆盖文件),会弹出一个文件选择框,我们可以鼠标选择jar包位置,确定即可,下次再上传的时候会直接弹出jar包窗口,当然下次用的时候也可以用tab键光标跳转选择,这就完全不用鼠标了,注意下面发送文件到ASCII不要打钩
在这里插入图片描述

4、最后就是重头戏了,项目重启的脚本,写个start.sh 的脚本,注意脚本和jar包同级目录 , 如下:

#!/bin/sh
RESOURCE_NAME=resource-0.0.1-SNAPSHOT.jar
 
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
 
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi
 
rm -f tpid
nohup java -jar ./$RESOURCE_NAME --spring.profiles.active=test &
echo $! > tpid
echo Start Success!

5、脚本运行
cd /home (我是把jar包和脚本放在home下面)

chmod +x start.sh (第一次运行的时候获取一下超级管理员权限)

然后以后每次运行直接

./start.sh 即可

拷贝脚本的时候运行的时候如果报错,应该是文件格式转换的问题

bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory

可以 yum -y install dos2unix

然后 dos2unix start.sh

重新运行脚本 ./start.sh 即可

本文摘自:https://blog.csdn.net/qq_36881106/article/details/82623271

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值