三步让你在Linux中发布SpringCloud项目
时间:2022-07-22
本文章向大家介绍三步让你在Linux中发布SpringCloud项目,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
SpringCloud项目发布过程
- 第一步 打包项目,修改启动脚本
- 第二步 上传项目与脚本
- 第三步 运行启动脚本
- 技巧: 炒鸡快速的启动项目的方式
第一步 打包项目,修改启动脚本
需要修改的内容
JAR_NAME="打包后的项目名"
#根据情况注释掉下面一个
SPRING_PROFILES_ACTIV="-Dspring.profiles.active=Eureka集群服务中心的名称"
SPRING_PROFILES_ACTIV="" #(放开这行代码直接这样不写)
这就是启动脚本server.sh
#!/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
第二步 上传项目与脚本
在虚拟机上面创建一个文件夹 ,然后上传项目和启动脚本上传至此文件夹 , 给启动脚本赋予运行的权限
chmod -R 755 server.sh
第三步 运行启动脚本
#在存在脚本的目录下
#启动SpringCloud项目
#可根据生成的日志文件查看启动是否成功,也可根据Eureka服务中心是否生成相应服务节点进行确认
./server.sh start
#关闭SpringCloud项目
./server.sh stop
注 :因为运行的SpringCloud项目 ,底层依赖的是java ,需要你的虚拟机安装JDK并正确配置环境变量
技巧: 炒鸡快速的启动项目的方式
可以跳过前面步骤,直接执行下面操作
1.将项目代码压缩包上传文件到到虚拟机 ,并解压
2.使用 java -jar 需要运行的.jar项目
,直接启动,但是这个是前置启动,
启动后 , 当前命令行占用 (退出Ctrl+c),在进行其他命令需要另外打开一个命令行
- FLAnimatedImage -ios gif图片加载框架介绍
- linux学习第八篇:文件或目录权限chmod,更改所有者和所属组chown,umask,隐藏权限lsattr_chattr
- linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件
- C#事件(event)的一个实例
- linux学习第十篇:find命令,文件名后缀
- linux学习第十一篇:linux和Windows互传文件,用户配置文件和密码配置文件,用户组管理以及用户管理
- linux学习第十二篇:usermod命令,用户密码管理,mkpasswd命令
- 一斤代码深入理解系列(三):微信小程序和服务器通信
- C#CreateGraphics方法的三种实现方式
- 一斤代码深入理解系列(四):微信小程序和服务器通信-WebSocket
- linux学习第十四篇:查看磁盘,文件大小命令:df,du;磁盘分区
- 二叉树的性质和常用操作代码集合
- linux学习第十五篇:磁盘格式化,磁盘挂载,手动增加swap空间
- 《Java程序设计基础》 第8章手记Part 2
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 无用的设计模式-上篇
- JavaScript简介及JavaScript中的关键保留字、变量和数据类型
- 有赞iOS精准测试实践
- 聊聊java中的哪些Map:(一)HashMap(1.8)源码分析
- spring redis 模糊查找key
- EXTJS防止表单中回车触发提交
- 中间件的解析漏洞详解及演示
- 任意文件包含漏洞原理解析及演示
- 【每日一题】39. Combination Sum
- 有赞灰度发布与蓝绿发布实践
- 有赞 Android 编译进阶之路 —— 增量编译提效方案Savitar
- react+electron使应用窗口相互独立
- Presto 在有赞的实践之路
- 简单了解Flutter
- 原来你是这样的Flutter