后台-系统设置-扩展变量-手机广告位-内容正文顶部 |
运行配置中心
修改配置文件
vi/opt/source/b2b2c-config/application-dev.yml
具体请参考:配置中心指南
请配置好数据库、elasticsearch、redis、rabbitmq等这些基础设施
运行其它API
建立配置文件
mkdir-p/opt/server/{config,logs}
vi/opt/server/config/bootstrap.yml
粘贴如下配置
spring:
cloud:
config:
uri:http://localhost:8888
profile:dev
server:
tomcat:
basedir:/home/temp
- 上述配置将api的配置中心指为本机
- 目录必须为实际存在且不会被自动删除的路径
建立执行脚本
vi/opt/source/application.properties
粘贴如下配置
#默认采用本地配置
server.port=8888
spring.profiles.active=native
spring.cloud.config.server.native.search-locations=/opt/source/b2b2c-config
建立如下脚本
vi/opt/server/start.sh
粘贴如下内容(注意更改branch参数):
#!/bin/bash
#版本
verson=7.2.3
#要部署的分支
branch=feature_7.2.3_upgrade
#源文件存储目录
source_dir=/opt/source/b2b2c
#程序运行时目录
server_dir=/opt/server
mkdir-p$server_dir"/logs/"
#要运行的api
apis=("sba-server""base-api""buyer-api""seller-api""manager-api""consumer")
#杀死进程
killone(){
ps-ef|grepjava|grep$1|grep-v'grep'|awk'{print$2}'|xargskill-9
echo'停止'$1
}
#启动程序
startone(){
nohupjava-Xmx512m-Xms256m-Xss256k-jar$1"-"$verson.jar>$server_dir"/logs/"$1".out"2>&1&
echo'启动'$1
}
#默认全部启动
startall="yes"
forapi_namein${apis[@]}
do
if[["$1"!=""&&"$1"=$api_name&&"$1"!="dontbuild"]]
then
startall="no"
break
fi
done
echo"startallis"$startall
if[["$startall"="yes"]];then
#杀死进程
forapi_namein${apis[@]}
do
killone"$api_name"
echo"$api_namestopsuccess"
done
else
killone"$1"
fi
#启动configserver
cd$server_dir
#检测端口状态
checkPort(){
r=`netstat-ntlp|awk'{print$4}'|grep:$1`
if["$r"==""]
then
return0
else
return1
fi
}
#检测configserver状态
checkPort8888
#读取状态
res=`echo$?`
#判断configserver是否启动,如果未启动则启动
if["$res"=="0"]
then
mv$source_dir"/config-server/target/config-server-"$verson.jar$source_dir
nohupjava-Xmx512m-Xms256m-Xss256k-jar-Dspring.config.location=/opt/source/application.properties$source_dir"/"config-server-$verson.jar>$server_dir"/logs/config-server.out"2>&1&
echo"等待configserver启动"
while["$res"=="0"]
do
checkPort8888
res=`echo$?`
echo-n"."
sleep1s
done
echo"configserverstartsuccess"
sleep1s
else
echo""
echo"config-server已经启动"
fi
sleep1s
if["$1"!="dontbuild"]
then
#更新源码
cd$source_dir
gitreset--hard$branch
gitpull
mvninstall-DskipTests-fpom.xml
rm-rf$server_dir"/*.jar"
forapi_namein${apis[@]}
do
mv$source_dir"/"$api_name"/target/"$api_name"-"$verson.jar$server_dir
done
else
echo"不构建,直接重启"
fi
cd$server_dir
if[["$startall"=="yes"]];then
forapi_namein${apis[@]}
do
startone"$api_name"
done
else
startone"$1"
fi
#进度条
progressBar(){
label=('|''/''-''\')
per=$1
ii=0
str=''
myTimes=$2
text=$3
letindex=myTimes%4
#拼接#字
while[$ii-le$per]
do
str=#$str
letii++
done
printf"[%-100s]%d%%%s%s\r"$str$per${label[$index]}$text
if[[$per==100]];then
echo
fi
}
#声明所有的服务和端口号,以便检测
serviceMap["7000"]="base-api"
serviceMap["7002"]="buyer-api"
serviceMap["7003"]="seller-api"
serviceMap["7004"]="admin-api"
serviceMap["6000"]="consumer"
serviceMap["7006"]="sba-server"
totalPer=0
#是否全部启动成功的标识
all_is_ok=""
last_text=''
times=0
processNum=0
processItem=100/6#六个任务中每个任务所占进度
while:
do
all_is_ok="yes"
progressBar$totalPer$times$last_text
#100次检查一下
checked=$(($times%100))
if[[$checked==0]];then
forkeyin${!serviceMap[*]};do
checkPort"$key"
started_result=`echo$?`
if["$started_result"=="1"]
then
processNum=$(($processNum+1))
#每启动一个服务进度
totalPer=$(($processNum*$processItem))
#显示启动成功的程序
printf"%-57s%57s\n"${serviceMap[$key]}'已启动'|sed's/[]/-/g'
#将启动成功的服务移除掉
unsetserviceMap["$key"]
fi
done
fi
sleep0.1
lettimes++
if[[${#serviceMap[*]}==0]];then
progressBar1006"全部启动完成"
break
fi
done
更新源码并且部署执行如下脚本:
shstart.sh
不更新源码直接重启执行如下脚本
shstart.shdontbuild
更新源码并且重启单个API执行如下脚本
shstart.shbase-api
更新源码并且重启单个API启动参数分别为:base-api/buyer-api/seller-api/mamager-api/consumer
验证
- http://ip:7000/swagger-ui/
- http://ip:7002/swagger-ui/
- http://ip:7003/swagger-ui/
- http://ip:7004/swagger-ui/
监控检查各服务节点状态
- http://ip:7006
- 默认用户名密码:admin/admin
以上就是关于运行配置中心及运行其它API的内容,想了解更多详情,可以持续关注易族智汇javashop。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。