Apollo配置中心搭建
-
下载源码
https://github.com/ctripcorp/apollo
-
执行SQL文件
导入 scripts/sql 文件夹下的两个sql文件(apolloconfigdb.sql、apolloportaldb.sql)
-
修改eureka配置
分别修改apollo-adminservice 和 apollo-configservice 下的**\src\main\resources** 中的bootstrap.yml 文件,修改 eureka 的 hostname
-
打包
执行 scripts 下的 build.bat 或 build.sh,执行完后,会在apollo-adminservice、apollo-configservice、apollo-portal 生成对应的包
-
修改配置
分别解压apollo-adminservice 、apollo-configservice 、apollo-portal打包后生成的包
修改apollo-configservice-1.2.0-SNAPSHOT-github\config下的 application-github.properties 改为对应的数据库连接,apollo-adminservice-1.2.0-SNAPSHOT-github与apollo-portal-1.2.0-SNAPSHOT-github 同理。
修改 apollo-portal-1.2.0-SNAPSHOT-github\config 下的 apollo-env.properties ,修改各环境meta service服务地址,如果某个环境不需要,也可以直接删除对应的配置项。(注:地址为apollo-configservice的地址)
-
调整服务端配置
配置项统一存储在ApolloPortalDB.ServerConfig表中,也可以通过
管理员工具 - 系统参数
页面进行配置apollo.portal.envs - 可支持的环境列表
默认值是dev,如果portal需要管理多个环境的话,以逗号分隔即可(大小写不敏感),如:
DEV,FAT,UAT,PRO
-
调整ApolloConfigDB配置
配置项统一存储在ApolloConfigDB.ServerConfig表中,需要注意每个环境的ApolloConfigDB.ServerConfig都需要单独配置。
不管是apollo-configservice还是apollo-adminservice都需要向eureka服务注册,所以需要配置eureka服务地址。 按照目前的实现,apollo-configservice本身就是一个eureka服务,所以只需要填入apollo-configservice的地址即可,如有多个,用逗号分隔(注意不要忘了/eureka/后缀)
-
启动
把改好的三个项目上传到服务器
分别运行 scripts 下的 startup.sh (注:先启动 apollo-configservice,再启动 apollo-adminservice,最后启动 apollo-portal ),对应的端口分别为 8080、8090、8070,如需修改端口,可以修改 startup.sh中的 SERVER_PORT
-
访问apollo
输入 http://ip:8070 打开apollo配置中,初始用户为 apollo/admin
输入 http://ip:8080 打开eureka
-
apollo与springboot项目整合
1、在配置中心创建对应的项目
2、在springboot项目中导入apollo依赖 (注:依赖的版本与配置中心使用的版本保持一致)
<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-core</artifactId> <version>1.1.2</version> </dependency>
3、在springboot项目的 resource下新建 META-INFO/app.properties , app.id 对应apollo配置中心创建的项目的id
app.id=test
4、新建 opt\settings\server.properties,Windows系统为“C:\opt\settings\server.properties”
apollo.meta=http://172.16.9.20:8080 env=DEV
apollo.meta 对应 apollo-configservice的地址,env对应支持的环境
5、在springboot项目的启动类加上 @Configuration、@EnableApolloConfig 注解
6、把springboot项目的application.properties(如果是yml类型的文件先转成properties文件)文件拷贝到配置中心,发布,最后把springboot项目中的application配置文件删除。
7、正常启动springboot项目,启动时会在opt\data\项目id\config-cache下生成对应的properties文件
上一篇: postman测试脚本
推荐阅读
-
java判断文件夹是否存在该文件(java读取apollo配置)
-
java配置环境变量步骤(java开发环境的搭建方法)
-
Centos6.5搭建java开发环境配置详解
-
Linux服务器配置—搭建NFS服务器步骤
-
Centos搭建PHP5.3.8+Nginx1.0.9+Mysql5.5.17详细配置
-
Nginx服务器搭建和基本配置详解
-
java环境配置不成功的原因(附java环境搭建及配置教程)
-
Nacos(四):SpringCloud项目中接入Nacos作为配置中心
-
SpringCloud之分布式配置中心Spring Cloud Config高可用配置实例代码
-
详解Linux服务器配置——搭建SVN服务器