1.linux 部署 apollo
1.1.环境准备
jdk : 1.8+ mysql 5.6.5+
1.2.下载上传到服务器
两种方式:
1.2.1.下载源码自己编译(需要修改源码的可以选择)
https://github.com/ctripcorp/apollo
1.2.2.下载官方编译好的
https://github.com/ctripcorp/apollo/releases
我选择的是第二种,本地下载这三个文件:
新建一个 apollo 目录,在 apollo 下新建 apollo-adminservice,apollo-configservice,apollo-portal 三个目录,将三个压缩包分别上传到对应的文件夹下面,分别解压后删除压缩包,解压后的目录结构:
解压命令:unzip xxx.zip
1.3.下载 sql 文件,生成数据库
地址:https://github.com/nobodyiam/apollo-build-scripts/tree/master/sql
下载两个数据库文件并加载到自己的数据库上:
1.4.修改配置
1.4.1.分别修改三个服务下的数据连接配置文件 /config/application-github.properties
1.4.2.分别修改三个服务下的启动端口号配置文件 /scripts/startup.sh(可选)
三个服务默认端口号:
apollo-adminservice:8090;
apollo-configservice:8080;
apollo-portal:8070;
我修改为:
apollo-adminservice:8001;
apollo-configservice:8002;
apollo-portal:8003;
1.4.3.修改 apollo-portal 服务的下的 meta 配置:apollo-portal/config/apollo-env.properties
这里的地址是 apollo-configservice 的服务地址,分别是不同环境下的服务地址,这里我只配置了(开发-dev)环境下的地址。(服务器 ip+ 端口)
1.4.4.修改数据库中的 meta 地址
修改 apolloconfigdb 数据库中 serverconfig 表中的 eureka.service.url:其中的地址为 apollo-configservice 的服务地址:
1.5.在 apollo 目录下编写启动 start.sh 和关闭 shutdown.sh 脚本
start.sh:
#!/bin/bash
/usr/apollo/apollo-configservice/scripts/startup.sh
/usr/apollo/apollo-adminservice/scripts/startup.sh
/usr/apollo/apollo-portal/scripts/startup.sh
shutdown.sh
#!/bin/bash
/usr/apollo/apollo-adminservice/scripts/shutdown.sh
/usr/apollo/apollo-configservice/scripts/shutdown.sh
/usr/apollo/apollo-portal/scripts/shutdown.sh
1.6.启动服务访问 apollo
运行 start.sh,启动三个服务后:输入如下地址
http://自己的ip地址:8003/
这是 portal 的服务地址(注意自己修改的端口号)
账号:apollo,密码:admin;
2.springBoot 整合 apollo 并获取参数
2.1.项目引入 apollo 依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.4.0</version>
</dependency>
2.2.apollo 发布配置
新建项目:
点击新增配置:
填写配置点击提交:
点击发布:
2.2 添加 eureka 注册地址(网络策略)
分布式部署的时候,本地访问服务器上的 Apollo,apollo-configservice 和 apollo-adminservice 需要把自己的 IP 和端口注册到 Meta Server(apollo-configservice 本身)。
参考官官方给的解决方案:
https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97
解决步骤:
在服务器下的 admin 和 config 服务的 startup.sh 分别添加:
-Deureka.instance.ip-address=服务器ip地址
添加在 export JAVA_OPTS 的下面:
添加之后,重启三个服务,用之前写好的 shutdown.sh 关闭,start.sh 启动。
2.3.application.yml
spring:
application:
name: apollo-test
server:
port: 80
#apollo相关配置
# apollo 相关配置
app:
id: apollo-test # 与 Apollo 配置中心中的 AppId 一致
apollo:
meta: http://自己服务器ip地址:8002 # Apollo 中的 Eureka 注册中心地址
#cluster: # 指定 Apollo 集群,默认为 default,相同集群实例使用对应集群的配置
#cacheDir: # 配置缓存目录,网络不可用时任然可提供配置服务
bootstrap:
enable: true # 启用 apollo
2.4.启动类添加 @EnableApolloConfig 注解:
2.5.controller 获取:
访问得到 applo 配置:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于