前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三步让你在Linux中发布SpringCloud项目

三步让你在Linux中发布SpringCloud项目

作者头像
时间静止不是简史
发布2020-07-27 10:44:30
1.3K0
发布2020-07-27 10:44:30
举报
文章被收录于专栏:Java探索之路Java探索之路

SpringCloud项目发布过程

  • 第一步 打包项目,修改启动脚本
  • 第二步 上传项目与脚本
  • 第三步 运行启动脚本
  • 技巧: 炒鸡快速的启动项目的方式

第一步 打包项目,修改启动脚本

需要修改的内容

代码语言:javascript
复制
JAR_NAME="打包后的项目名"
#根据情况注释掉下面一个
SPRING_PROFILES_ACTIV="-Dspring.profiles.active=Eureka集群服务中心的名称"
SPRING_PROFILES_ACTIV="" #(放开这行代码直接这样不写)

这就是启动脚本server.sh

代码语言:javascript
复制
#!/bin/bash
 
cd `dirname $0`
 
CUR_SHELL_DIR=`pwd`
CUR_SHELL_NAME=`basename ${BASH_SOURCE}`

#项目名
JAR_NAME="SpringCloud-Eureka-0.0.1-SNAPSHOT.jar"
JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME
 
JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=128m"
JAVA_MEM_OPTS=""

#集群配置(二选一)
#SPRING_PROFILES_ACTIV="-Dspring.profiles.active=eureka2"
#单个配置
SPRING_PROFILES_ACTIV=""
LOG_DIR=$CUR_SHELL_DIR/logs
LOG_PATH=$LOG_DIR/${JAR_NAME%..log
 
echo_help()
{
    echo -e "syntax: sh $CUR_SHELL_NAME start|stop"
}
 
if [ -z $1 ];then
    echo_help
    exit 1
fi
 
if [ ! -d "$LOG_DIR" ];then
    mkdir "$LOG_DIR"
fi
 
if [ ! -f "$LOG_PATH" ];then
    touch "$LOG_DIR"
fi
 
if [ "$1" == "start" ];then
 
    # check server
    PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`
    if [ -n "$PIDS" ]; then
        echo -e "ERROR: The $JAR_NAME already started and the PID is ${PIDS}."
        exit 1
    fi
 
    echo "Starting the $JAR_NAME..."
 
    # start
    nohup java $JAVA_MEM_OPTS -jar $SPRING_PROFILES_ACTIV $JAR_PATH >> $LOG_PATH 2>&1 &
 
    COUNT=0
    while [ $COUNT -lt 1 ]; do
        sleep 1
        COUNT=`ps  --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}' | wc -l`
        if [ $COUNT -gt 0 ]; then
            break
        fi
    done
    PIDS=`ps  --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}'`
    echo "${JAR_NAME} Started and the PID is ${PIDS}."
    echo "You can check the log file in ${LOG_PATH} for details."
 
elif [ "$1" == "stop" ];then
 
    PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`
    if [ -z "$PIDS" ]; then
        echo "ERROR:The $JAR_NAME does not started!"
        exit 1
    fi
 
    echo -e "Stopping the $JAR_NAME..."
 
    for PID in $PIDS; do
        kill $PID > /dev/null 2>&1
    done
 
    COUNT=0
    while [ $COUNT -lt 1 ]; do
        sleep 1
        COUNT=1
        for PID in $PIDS ; do
            PID_EXIST=`ps --no-heading -p $PID`
            if [ -n "$PID_EXIST" ]; then
                COUNT=0
                break
            fi
        done
    done
 
    echo -e "${JAR_NAME} Stopped and the PID is ${PIDS}."
else
    echo_help
    exit 1
fi

注意 ;直接复制代码出现了错误建议直接先修改好文件,然后上传至虚拟机 ,SpringCloud启动脚本百度云分享

链接:https://pan.baidu.com/s/1379Yuq4k-zhemixn9drzFA 提取码:0eas

第二步 上传项目与脚本

在虚拟机上面创建一个文件夹 ,然后上传项目和启动脚本上传至此文件夹 , 给启动脚本赋予运行的权限

代码语言:javascript
复制
chmod -R 755 server.sh
在这里插入图片描述
在这里插入图片描述

第三步 运行启动脚本

代码语言:javascript
复制
#在存在脚本的目录下

#启动SpringCloud项目
#可根据生成的日志文件查看启动是否成功,也可根据Eureka服务中心是否生成相应服务节点进行确认
./server.sh start

#关闭SpringCloud项目
./server.sh stop
在这里插入图片描述
在这里插入图片描述

注 :因为运行的SpringCloud项目 ,底层依赖的是java ,需要你的虚拟机安装JDK并正确配置环境变量

技巧: 炒鸡快速的启动项目的方式

可以跳过前面步骤,直接执行下面操作

1.将项目代码压缩包上传文件到到虚拟机 ,并解压 2.使用 java -jar 需要运行的.jar项目 ,直接启动,但是这个是前置启动, 启动后 , 当前命令行占用 (退出Ctrl+c),在进行其他命令需要另外打开一个命令行

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SpringCloud项目发布过程
  • 第一步 打包项目,修改启动脚本
  • 第二步 上传项目与脚本
  • 第三步 运行启动脚本
  • 技巧: 炒鸡快速的启动项目的方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档