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客户端中的环境列表出现多个环境

- 在.Net项目中使用Apollo配置
最新版的

在appsettings.json中写入

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
浙公网安备 33010602011771号