后端:运行配置中心及运行其它API代码编写详细教程

后台-系统设置-扩展变量-手机广告位-内容正文顶部

运行配置中心

修改配置文件

  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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

后台-系统设置-扩展变量-手机广告位-内容正文底部
留言与评论(共有 0 条评论)
   
验证码: