美文网首页
springboot项目服务器脚本方式部署

springboot项目服务器脚本方式部署

作者: jeffrey_hjf | 来源:发表于2023-05-21 10:21 被阅读0次

    前言

    使用脚本的方式进行服务器端springBoot项目的管理,由于springboot项目不熟的是jar包方式(当然也有war包的形式,再次不做赘述),所以不能和传统的tomcat中的一样直接运行,于是就自己写了一个脚本管理jar包(:两个版本,前者较为正式,后者慎用! )。

    主要功能

    • 启动
    • 关闭
    • 重启
    • 查看状态

    内容

    注意APP_NAME 改成你自己的jar包名

    #!/bin/bash
    #这里可替换为你自己的执行程序的文件名
    APP_NAME=demo-0.0.1-SNAPSHOT
    #启动项目的路径
    APP_PATH=./${APP_NAME}.jar
    #输出日志的路径
    LOG_PATH=./${APP_NAME}.log
     
    #使用说明,用来提示输入参数
    usage(){
        echo "Usage: sh server.sh [start|stop|restart|status] || ./server.sh [start|stop|restart|status]"
        exit 1
    }
     
    #检查程序是否在运行
    is_exist(){
      pid=`ps -ef|grep $APP_NAME.jar|grep -v grep|awk '{print $2}'`
      #如果不存在返回1,存在返回0 
      if [ -z "${pid}" ]; then
       return 1
      else
        return 0
      fi
    }
     
    #启动方法
    start(){
      is_exist
      if [ $? -eq 0 ]; then
        echo "${APP_NAME} is already running. pid=${pid}"
      else
        # 执行jar的命令,nohup表示永久运行。&表示后台运行
        # --server.port=8001 设置端口
        # nohup java -jar ${APP_PATH} --server.port=8001 >> ${LOG_PATH} 2>&1 &
        nohup java -jar ${APP_PATH} >> ${LOG_PATH} 2>&1 &
        echo "${APP_NAME} start success"
      fi
    }
     
    #停止方法
    stop(){
      is_exist
      if [ $? -eq "0" ]; then
        kill -9 $pid
        echo "${APP_NAME} stop success"
      else
        echo "${APP_NAME} is not running"
      fi  
    }
     
    #输出运行状态
    status(){
      is_exist
      if [ $? -eq "0" ]; then
        echo "${APP_NAME} is running. Pid is ${pid}"
      else
        echo "${APP_NAME} is not running."
      fi
    }
     
    #重启
    restart(){
      stop
      sleep 1
      start
      echo "${APP_NAME} restart success"
    }
     
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
      "start")
        start
        ;;
      "stop")
        stop
        ;;
      "status")
        status
        ;;
      "restart")
        restart
        ;;
      *)
        usage
        ;;
    esac
    
    

    *下面这是一个较为有意思的版本(慎用) *

    #!/bin/bash
    #这里可替换为你自己的执行程序的文件名
    APP_NAME=demo-0.0.1-SNAPSHOT
    #启动项目的路径
    APP_PATH=./${APP_NAME}.jar
    #输出日志的路径
    LOG_PATH=./${APP_NAME}.log
     
    #使用说明,用来提示输入参数
    usage(){
        echo "哥,你好好看看使用方法啊,来,我马上列给你看..."
        echo "Usage: sh server.sh [start|stop|restart|status] || ./server.sh [start|stop|restart|status]"
        exit 1
    }
     
    #检查程序是否在运行
    is_exist(){
      pid=`ps -ef|grep $APP_NAME.jar|grep -v grep|awk '{print $2}'`
      #如果不存在返回1,存在返回0 
      if [ -z "${pid}" ]; then
        return 1
      else
        return 0
      fi
    }
     
    #启动方法
    start(){
      is_exist
      if [ $? -eq 0 ]; then
        echo "都运行一万遍了,你有完没完???"
        echo "好好瞅瞅==>>>${APP_NAME} is already running. pid=${pid}"
      else
        # 执行jar的命令,nohup表示永久运行。&表示后台运行
        # --server.port=8001 设置端口
        # nohup java -jar ${APP_PATH} --server.port=8001 >> ${LOG_PATH} 2>&1 &
        nohup java -jar ${APP_PATH} >> ${LOG_PATH} 2>&1 &
        echo "准备启动..."
        echo "${APP_NAME} start success"
        echo "ok,我活了!"
      fi
    }
     
    #停止方法
    stop(){
      is_exist
      if [ $? -eq "0" ]; then
        kill -9 $pid
        echo "${APP_NAME} stop success"
        echo "啊~,我死了!"
      else
        echo "哥,咱还没运行就停止了?"
        echo "${APP_NAME} is not running"
      fi  
    }
     
    #输出运行状态
    status(){
      is_exist
      if [ $? -eq "0" ]; then
        echo "${APP_NAME} is running. Pid is ${pid}"
      else
        echo "${APP_NAME} is not running."
      fi
    }
     
    #重启
    restart(){
      stop
      sleep 1
      start
      echo "${APP_NAME} restart success"
    }
     
    #根据输入参数,选择执行对应方法,不输入则执行使用说明
    case "$1" in
      "start")
        start
        ;;
      "stop")
        stop
        ;;
      "status")
        status
        ;;
      "restart")
        restart
        ;;
      *)
        usage
        ;;
    esac
    
    

    使用方式

    启动命令:sh server.sh start     或者  ./server.sh start
     
    停止命令:sh server.sh stop      或者  ./server.sh stop
     
    重启命令:sh server.sh restart   或者  ./server.sh restart
    
    查看状态:sh server.sh status    或者  ./server.sh status
    
    
    

    原文:https://blog.csdn.net/qq_41062572/article/details/103505224

    相关文章

      网友评论

          本文标题:springboot项目服务器脚本方式部署

          本文链接:https://www.haomeiwen.com/subject/squasdtx.html