Linux部署jar文件

SpringBoot生成的jar文件,在Linux启动。

Tips

  • windows下的换行符为CRLF,在Linux中无法运行。如果在windows中编写,需要将换行符改为LF

  • 本博客中的server.shxx.jar在同级目录,所以将cd folder的命令注释。看官可依据自身实际情况调整,希望能解决你的问题。

脚本文件

#description:启动重启server服务
#端口号,根据端口号确定PID
PORT=7091
#启动命令所在目录
# HOME=/opt/xx
#启动jar文件名,需要修改为自己jar包的名字
APP_NAME=xx.jar

#查询出监听了PORT端口TCP协议的程序
pid=`netstat -anp|grep ${PORT}|awk '{printf $7}'|cut -d/ -f 1`

#检查程序是否在运行
is_exist(){
    #如果不存在返回 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
        # 进去命令所在目录
        # cd ${home} 
        # 启动jar文件,设置激活文件为prod。
        nohup java -jar $APP_NAME --spring.profiles.active=prod &
        echo "start at port:$PORT"
    fi
}

stop(){
    is_exist
    if [ $? -eq "0" ]; then
      kill -9 $pid
      echo ${APP_NAME}" is runnig on ${PORT} : ${pid}, execute kill - 9 ${pid}"
    else
      echo "${APP_NAME} is not running."
    fi
}

status(){
    is_exist
    if [ $? -eq "0" ]; then
        echo "${APP_NAME} is  runnig on port:$PORT, pid is ${pid}"
    else
        echo "${APP_NAME} is not runnig."
    fi
}

restart(){
    stop
    start
}

case "$1" in
    "start")
        start
    ;;
    "stop")
        stop
    ;;
    "restart")
      restart
    ;;
    "status")
        status
    ;;
    *)
      usage
    ;;
esac

exit 0

./server.sh无法执行

chmod 777 xx.sh

可执行命令行

  • ./server.sh start 启动命令,控制台输出是否启动成功
  • ./server.sh stop 关闭命令,控制台输出是否关闭成功
  • ./server.sh restart 应用先关闭,后启动。控制台输出是否成功执行该操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值