linux创建启动jar文件.sh,linux(centos6.5)下部署springboot jar包用 *.sh 文件启动项目并将项目做成开机自启动服务...

第一种方法:非自启动方式

1.如果你使用的是maven来管理项目,执行以下命令进行项目打包

cd 项目根目录(和pom.xml同级)

mvn clean package

## 或者执行下面的命令

## 排除测试代码后进行打包

mvn clean package -Dmaven.test.skip=true

执行后会在项目更目录下生成一个target文件会生成一个*.jar 文件,这样打包就完成了,接下来在linux下部署

20201202124801935616.png

2.将jar文件传到linux目录下(这里我创建了一个java文件夹)

cd /java #切换到java 目录下

vim /java/start.sh #在java目录下创建start.sh 文件

vi /java/start.sh # 执行此命令对start.sh 文件进行编辑

写入下列内容:

#!/bin/sh

rm -f tpid

APP_NAME=familySign

APP_JAR=$APP_NAME".jar"

nohup java -Dfile.encoding=UTF-8 -jar $APP_JAR --spring.config.location=application.properties > ./logs/$APP_NAME".log" 2>&1 &

echo $! > $APP_NAME".tpid"

echo $APP_NAME Start Success!

编辑完成后 点击ESC键退出

输入 :wq 退出保存

给文件赋予执行权:

chmod a+x start.sh

chmod a+x familySign.jar

在java目录下执行 start.sh 文件

[[email protected] java]# ./start.sh

familySign Start Success!

项目启动成功

在此需要注意的是:logs文件夹要手动创建。不然无法正常 运行。

如果项目停止项目运行:

在java目录下创建stop.sh 文件

[[email protected] java]# vim /java/stop.sh

写入下列内容

#!/bin/sh

APP_NAME=familySign

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk ‘{print $2}‘`

if [ ${tpid} ]; then

echo ‘Stopping‘ $APP_NAME ‘...‘

kill -15 $tpid

fi

sleep 5

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk ‘{print $2}‘`

if [ ${tpid} ]; then

echo ‘Kill‘ $APP_NAME ‘Process!‘

kill -9 $tpid

else

echo $APP_NAME ‘Stoped Success!‘

fi

写入完成点击ESC键退出编辑

输入 :wq 退出保存文件

执行如下命令给stop.sh 文件赋予执行

chmod a+x stop.sh

执行stop.sh 文件

[[email protected] java]# ./stop.sh

Stopping familySign ...

项目停止运行成功

chmod a+x 文件名 a 是指赋予所用用户执行权

到这里项目的的打包部署就完成了。

第二种方式 :开机自启动服务

1.将项目运行添加为开机自启动服务:

[[email protected] ~]# cd /etc/init.d

[[email protected] init.d]# vim /etc/init.d/autostart

#!/bin/sh

#chkconfig: 2345 80 90

rm -f tpid

APP_NAME=/java/familySign_API/familySign #jar 包路径 根据自己的修改

APP_JAR=$APP_NAME".jar"

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171

export JRE=/usr/lib/jvm/jdk1.8.0_171/jre

export CLASSPATH=$JAVAHOME/lib:$JRE/lib:.

export PATH=$PATH:$JAVA_HOME/bin:$JRE/bin

nohup java -Dfile.encoding=UTF-8 -jar $APP_JAR --spring.config.location=/java/familySign_API/application.properties > /java/familySign_API/logs/familySign".log" 2>&1 &

echo $! > $APP_NAME".tpid"

echo $APP_NAME Start Success!

同上编辑完成保存退出

chmod a+x autostart

赋予执行权

执行如下命令将autostart添加为自启服务

chkconfig --add autostart # (首先,添加为系统服务,注意add前面有两个横杠)

chkconfig autostart on #开机自启

chkconfig --list (列表显示)查看是否添加到服务列表

service autostart start(启动服务,就是执行my的脚本)

/java/familySign_API/familySign Start Success!

项目运行成功。

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171

export JRE=/usr/lib/jvm/jdk1.8.0_171/jre

export CLASSPATH=$JAVAHOME/lib:$JRE/lib:.

export PATH=$PATH:$JAVA_HOME/bin:$JRE/bin

这个部分为jdk 环境变量,依据自己的安装目录进行更改即可;

可以重启服务器试试看是否启动成功

原文:https://www.cnblogs.com/telwanggs/p/14072401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值