Apollo配置中心多环境配置使用日记

这篇博客详细记录了Apollo配置中心在开发环境和生产环境下的配置步骤,包括服务器文件准备、数据库配置、端口修改、服务启动和测试。通过Springboot微服务从Apollo配置中心获取配置数据,展示了多环境配置的完整流程。
摘要由CSDN通过智能技术生成

Apollo配置中心多环境配置使用日记

本文记录了我在使用Apollo配置中心进行同一台服务器多环境配置时的全部详细记录。
一、 开发环境构建(不细说,不懂就百度)
1、开发端: win7+mysql5.7+idea-2020.3+navcat+jdk1.8

2、服务器:CenTos7+jdk1.8+MySql5.7

3、Apollo多环境配置的要点是,每多配置一个环境就多启动两套服务(apollo-adminsevice+apollo-   configservice),apollo-portal服务永远只启动一套,所以我们的步骤是下载好这三套服务,按照自己设定的每个环境把文件分布好、设置好端口、数据库等,然后启动就是了。
二、相关下载及文件准备
    Apollo下载(几乎慢的不可下载,但是我夜里2点试了一下,快的分分钟的事儿搞定,好经验大家分享)
    
centos7下载:
        wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-adminservice-1.7.0-github.zip
        wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-configservice-1.7.0-github.zip
        wget https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-portal-1.7.0-github.zip

或者windows下载:
        https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-adminservice-1.7.0-github.zip
        https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-configservice-1.7.0-github.zip
        https://github.com/ctripcorp/apollo/releases/download/v1.7.0/apollo-portal-1.7.0-github.zip
        
    总之是得到以上三个文件。
三、服务器上Apollo文件准备
centos7作为Apollo多环境部署服务器,执行创建目录的命令:
cd /usr/local/

mkdir software

cd /usr/local/software
mkdir apollo

cd /usr/local/software/apollo
mkdir dev (开发环境目录)
mkdir pro (生产环境目录)

然后将下载apollo必需的三套服务的ZIP文件放在 /usr/local/software,以便解压到需要他的地方

将上述下载的三个zip文件复制到 /usr/local/software/下,software目录如下:
然后将software下面的这三个ZIP文件解压到 /usr/local/software/apollo/下,形成了三个服务的文件夹,解压使用如下命令:

     cd /usr/local/software
     unzip apollo-adminservice-1.7.0-github.zip -d /usr/local/software/apollo/apollo-adminservice
     unzip apollo-configservice-1.7.0-github.zip -d /usr/local/software/apollo/apollo-configservice
     unzip apollo-portal-1.7.0-github.zip -d /usr/local/software/apollo/apollo-portal

在这里插入图片描述

为了apollo多环境配置,要把software/apollo/目录下的apollo-configservice和apollo-adminservice两个解压后的目录复制到Apollo目录下的dev和pro,复制后的文件目录结构如下:       

多环境部署需要将两个服务分别复制到dev和pro

四、数据库配置(apollo是基于MySQL数据库的)
从上图可以发现,我的Apollo目录下有sql子目录,里面有三个sql文件,后两个sql文件是系统默认的,可以在官方下载地址下载:

https://github.com/nobodyiam/apollo-build-scripts/tree/master/sql

1、在开发端安装一个navcat(mysql数据库前端工具),启动后创建一个到centos7服务器的连接:

在这里插入图片描述
2、利用sql文件夹下的apolloconfigdb.sql和apolloportaldb.sql两个文件构建两个数据库:
在这里插入图片描述

在这里插入图片描述

同样的方法创建apolloportalDB在这里插入图片描述

在这里插入图片描述

    数据库还缺少关于生产环境的ApolloConfig_pro,这个有两种方法:
    一、在navcat里创建一个空数据库,命名为ApolloConfigDB_pro,将ApolloConfigDB下的所有的表复制过来。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
二、创建ApolloConfigDB_pro的另一个办法是将apolloconfigdb.sql文件拷贝到合适idea编辑的目录,重命名为apolloconfigdb_pro.sql,然后修改里面有关数据库名称,然后用这个apolloconfigdb_pro.sql按照一中说的方法去创建ApolloConfigDB_pro数据库,参考示意图,不在赘述。

在这里插入图片描述

五、有关端口修改
    Apollo的每个服务是一个独立的进程,独立的端口,我们是多环境配置,所以要修改有关参数才可以当每个服务启动时,正确的使用端口等参数;
    
    1、修改数据库如图(centos7服务器的IP:192.168.0.154):

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
2、确保每个服务启动时,连接到自己的数据库,所以修改如下(知道现在我们也没有讨论Dev环境的配置,是因为Apollo默认的就是Dev环境):

   进入默认目录修改三套服务启动时的数据库:
   cd  cd /usr/local/software/apollo   #当然也要告诉他启动该服务时使用哪个数据库
   vim apollo-adminservice/config/application-github.properties       /回车
   spring.datasource.url = jdbc:mysql://192.168.0.154:3306/ApolloConfigDB?characterEncoding=utf8
   spring.datasource.username = root
   spring.datasource.password = lzm@551214   (当然这是我的密码)
   
   
   vim apollo-configservice/config/application-github.properties       /回车
   spring.datasource.url = jdbc:mysql://192.168.0.154:3306/ApolloConfigDB?characterEncoding=utf8
   spring.datasource.username = root
   spring.datasource.password = lzm@551214
   

   vim apollo-portal/config/application-github.properties                  /回车
   spring.datasource.url = jdbc:mysql://192.168.0.154:3306/ApolloPortalDB?characterEncoding=utf8
   spring.datasource.username = root
   spring.datasource.password = lzm@551214

   进入生产环境pro目录修改两套服务启动时的数据库:
   cd  /usr/local/software/apollo/pro
   vim apollo-adminservice/config/application-github.properties       /回车
   spring.datasource.url = jdbc:mysql://192.168.0.154:3306/ApolloConfigDB_pro?characterEncoding=utf8
   spring.datasource.username = root
   spring.datasource.password = lzm@551214   (当然这是我的密码)

   vim apollo-configservice/config/application-github.properties       /回车
   spring.datasource.url = jdbc:mysql://192.168.0.154:3306/ApolloConfigDB_pro?characterEncoding=utf8
   spring.datasource.username = root
   spring.datasource.password = lzm@551214

3、配置每套服务启动时的端口:

  我这里把/usr/local/software/apollo/目录下的两个服务作为默认的Dev配置,先用vim编辑器打开看一下:
  cd /usr/local/software/apollo       /系统默认dev环境
  vim apollo-configservice/scripts/startup.sh       /config服务端口

在这里插入图片描述
vim apollo-adminservice/scripts/startup.sh /admin服务端口
在这里插入图片描述

cd /usr/local/software/apollo/pro /生产环境
vim apollo-configservice/scripts/startup.sh /生产环境config服务端口在这里

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210114185558295.png
vim apollo-adminservice/scripts/startup.sh /生产环境admin服务端口,注意LOG_DIR不重复
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210115112827194.png

4、因为多环境共用一个apollo-portal服务,所以把以上端口配置告诉apollo-portal:

 cd /usr/local/software/apollo/        /portal所在目录
 vim apollo-portal/config/apollo-env.properties

在这里插入图片描述
同时指定apollo-portal对外服务端口:
vim apollo-portal/scripts/startup.sh
在这里插入图片描述

六、启动各个服务
    1、编写启动文件
    vim /usr/local/software/apollo/apollostart.sh
    
    /usr/local/software/apollo/apollo-configservice/scripts/startup.sh
    /usr/local/software/apollo/apollo-adminservice/scripts/startup.sh
    /usr/local/software/apollo/pro/apollo-configservice/scripts/startup.sh
    /usr/local/software/apollo/pro/apollo-adminservice/scripts/startup.sh
    /usr/local/software/apollo/apollo-portal/scripts/startup.sh

    2、启动
    cd /usr/local/software/apollo
    chmod 777 ./apollostart.sh
    ./apollostart.sh       看启动有没有报错或者异常

在这里插入图片描述

 3、在开发端(我用的win7)的浏览器输入:http://192.168.0.154:8070 应该可以看到:

在这里插入图片描述

 登录后

在这里插入图片描述

打开默认的项目

在这里插入图片描述
返现开发环境DEV和生产环境PRO
OKOKOK-----

七、测试(使用springboot微服务从Apollo配置中心获取配置)

1、idea+springcloud创建名为demoproj的项目,service-web微服务项目测试从Apollo配置中心获取配置数据:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demoproj</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值