apollo

apollo安装文件

1:下载Apollo安装包

 

(1)源码下载 从(Apollo-github) 下载最新的源码,也可以通过 git 命令下载到本地

git clone https://github.com/ctripcorp/apollo

(2)下载安装包 地址:https://github.com/ctripcorp/apollo/releases

 

2:创建数据库

Apollo 服务端总共需要两个数据库:ApolloPortalDB和 ApolloConfigDB

下载的源码包里面找到,文件目录为:apollo\scripts\sql\src,路径如下图所示:

将这两个文件导入MySql数据库

 

ApolloPortalDB导入成功后,验证SQL:select * from `ApolloPortalDB`.`ServerConfig`

ApolloConfigDB导入成功后,验证SQL:select * from `ApolloConfigDB`.`ServerConfig`

 

3.用Cursor打开下载的源码

 

找到apollo-master\scripts\build.bat (Linux 是 bulid.sh)

修改数据库配置信息,注意这是两个库(ApolloPortalDB和 ApolloConfigDB):

 

注意: 数据库连接,需要添加serverTimezone=UTC否则可能会报错

修改完上面的配置以后,我们就可以执行build.bat批处理命令进行编译打包。 在windows 运行build.bat文件(双击运行),如果是LInux 运行 build.sh

 

第一次会执行比较慢,需要下载Maven(文档最下方有安装教程) 和jar

执行成功后,找到 apollo-configservice、apollo-adminservice、apollo-portal下有target文件夹,找到已经打好的三个jar包,copy 出来放到一个单独的文件夹,方便我们启动

 

启动脚本,放到记事本,修改后缀名为 .bat就可以一键启动三个服务了

脚本启动前先检查8080 8070 8090这三个端口是否被占用

netstat -ano | findstr 端口

@echo off

start cmd /k "java -jar apollo-configservice-2.5.0-SNAPSHOT.jar --hostname=localhost"

start cmd /k "java -jar apollo-adminservice-2.5.0-SNAPSHOT.jar --hostname=localhost"

start cmd /k "java -jar apollo-portal-2.5.0-SNAPSHOT.jar --hostname=localhost"

pause

 

全部启动成功之后,打开浏览器输入:http://localhost:8070/,看到 Apollo 登录页面说明启动成功

用户名密码: apollo/admin

输入 http://localhost:8080 ,如果出现eureka 的管理界面,说明服务启动正常。

 

4. 客户端使用

 

将下边这段代码放到apollo-master\apollo-portal\pom.xml中

<!-- Apollo Client Dependency -->

        <dependency>

            <groupId>com.ctrip.framework.apollo</groupId>

            <artifactId>apollo-client</artifactId>

            <version>1.7.0</version>

        </dependency>

       

        <!-- 数据库jar -->

        <dependency>

            <groupId>com.mysql</groupId>

            <artifactId>mysql-connector-j</artifactId>

        </dependency>

       

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-data-jpa</artifactId>

        </dependency>

Apollo客户端使用指南:使用文档 - Apollo使用指南 - 《携程 Apollo v1.9 使用教程》 - 书栈网 · BookStack

5. Apollo客户端配置其他环境

 

UPDATE ServerConfig

SET Value = 'DEV,FAT,UAT,LPT,PRO',

DataChange_LastModifiedBy = 'apollo',

DataChange_LastTime = NOW()

WHERE `Key` = 'apollo.portal.envs';

 

 

UPDATE ServerConfig

SET Value = '{"DEV":"http://localhost:8080","FAT":"http://localhost:8080","UAT":"http://localhost:8080","LPT":"http://localhost:8080","PRO":"http://localhost:8080"}',

DataChange_LastModifiedBy = 'apollo',

DataChange_LastTime = NOW()

WHERE `Key` = 'apollo.portal.meta.servers';

 

修改完可以查看 apolloportaldb库中的serverconfig=表,重启服务后可以看见Apollo客户端中的环境列表出现多个环境

 

 

 

 

 

  1. 在.Net项目中使用Apollo配置

 

最新版的

 

在appsettings.json中写入

 

40f8b016635b0a10c13d179999a2b803

 

AppId 是Apollo配置中心的你起的AppId名称

MetaServer是eureka的管理界面的地址

 

 

在Program.cs中写入

Apollo是在appsettings.json中的命名

ClientService和TEST2.Shared是你在Apollo配置中心起的命名空间

 

ConnectionStrings__Default是在Apollo中的Key值

 

获取Apollo中的配置

 

可以通过上面这种方式实现获取Apollo中的配置

 

 

 

 

 

 

 

 

Maven安装与配置详细教程

 

 

apollo镜像

# 拉取官方Apollo配置中心镜像

docker pull apolloconfig/apollo-configservice:latest

# 拉取Apollo管理服务镜像

docker pull apolloconfig/apollo-adminservice:latest

# 拉取Apollo门户镜像

docker pull apolloconfig/apollo-portal:latest

 

# 创建网络

docker network create apollo-network

 

# 运行MySQL数据库(如果还没有)

docker run -d \

  --name apollo-mysql \

  --network apollo-network \

  -e MYSQL_ROOT_PASSWORD=123456 \

  -e MYSQL_DATABASE=apollo \

  -p 3306:3306 \

  mysql:5.7

 

docker run -d --name apollo-configservice --network apollo-network -p 8080:8080 -e SPRING_DATASOURCE_URL="jdbc:mysql://116.62.53.239:3306/apolloconfigdb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true" -e SPRING_DATASOURCE_USERNAME="root" -e SPRING_DATASOURCE_PASSWORD="123456" apolloconfig/apollo-configservice:latest

 

docker run -d --name apollo-adminservice --network apollo-network -p 8090:8090 -e SPRING_DATASOURCE_URL="jdbc:mysql://116.62.53.239:3306/apolloconfigdb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true" -e SPRING_DATASOURCE_USERNAME="root" -e SPRING_DATASOURCE_PASSWORD="123456" -e EUREKA_CLIENT_SERVICEURL_DEFAULTZONE="http://apollo-configservice:8080/eureka/" apolloconfig/apollo-adminservice:latest

 

docker run -d --name apollo-portal --network apollo-network -p 8070:8070 -e SPRING_DATASOURCE_URL="jdbc:mysql://116.62.53.239:3306/apolloportaldb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true" -e SPRING_DATASOURCE_USERNAME="root" -e SPRING_DATASOURCE_PASSWORD="123456" -e APOLLO_PORTAL_ENVS="dev" -e DEV_META="http://apollo-configservice:8080" apolloconfig/apollo-portal:latest

posted @ 2025-08-14 08:58    阅读(16)  评论(0)    收藏  举报