欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-01 08:12:43
...

 一.把本地项目jar包上传到Linux服务器上面

    路径如下/home/admin/demo/demo-0.0.1-SNAPSHOT.jar

二.项目重启的脚本,写个deploy.sh 的脚本,注意脚本和jar包同级目录,脚本如下:

#!/bin/bash
PROG_NAME=$0
ACTION=$1
APP_PORT=8080          # 应用端口
APP_HOME=/home/admin/demo  # 从package.tgz中解压出来的jar包放到这个目录下
JAR_NAME=demo-0.0.1-SNAPSHOT.jar # jar包的名字
APP_LOG=${APP_HOME}/logs/app.log # 应用的日志文件
PID_FILE=${APP_HOME}/pid   # 应用的pid会保存到这个文件中
# 创建出相关目录
mkdir -p ${HEALTH_CHECK_FILE_DIR}  
mkdir -p ${APP_HOME}
mkdir -p ${APP_HOME}/logs
usage() {
    echo "Usage: $PROG_NAME {start|stop|restart}"
    exit 2
}

start_application() {
    echo "start jar"
    if [ -f "$PID_FILE" ] && kill -0 "$(cat ${PID_FILE})"; then
        echo "Application is running, exit"
        exit 0
    fi
    rm -rf ${APP_HOME}/${JAR_NAME}
    tar -zxvf /home/admin/package.tgz -C ${APP_HOME}
    java -jar ${APP_HOME}/${JAR_NAME} > ${APP_LOG} 2>&1 &
    echo $! > ${PID_FILE}
}
stop_application() {
    echo "stop jar"
    if [ -f "$PID_FILE" ]; then
        kill -9 `cat $PID_FILE`
        rm $PID_FILE
    else
        echo "pid file $PID_FILE does not exist, do noting"
    fi
}
start() {
    start_application
}
stop() {
    stop_application
}
case "$ACTION" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
        start
    ;;
    *)
        usage
    ;;
esac

三.脚本运行   

1.cd /home/admin/demo

     注 :第一次运行的时候获取一下执行权限  执行命令 chmod +x deploy.sh 

2../deploy.sh  start