目录
一、下载压缩包
二、解压压缩包
三、创建数据库
四、修改配置信息
1.修改数据库链接信息
2.修改启动端口号
3.修改数据库表
4.修改meta service信息
五、启动服务
六、查看是否部署成功
7、java springboot项目接入apollo
1.修改application.yml
2.添加注解
3.脚本启动
机器:2台centos7服务器
数据库:mysql 5.7,版本要求5.6.5+
官方指导文档:Apollo
部署架构
一、下载压缩包
从GitHub Release页面下载最新版本的apollo-configservice-x.x.x-github.zip、apollo-adminservice-x.x.x-github.zip和apollo-portal-x.x.x-github.zip
二、解压压缩包
解压至server1服务器/data/apollo目录下的apollo-configservice,apollo-configservice-pro,apollo-adminservice,apollo-adminservice-pro,apollo-portal,server2服务器data/apollo目录下的apollo-configservice,apollo-configservice-pro,apollo-adminservice,apollo-adminservice-pro
三、创建数据库
apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们这里添加一个pro环境,所以需要多创建一个数据库ApolloPortalDBPRO,ApolloPortalDB只需要一个,所有我们一共有三个数据库ApolloPortalDB,ApolloConfigDB,ApolloConfigDBPro
在mysql客户端执行
- source /your_local_path/scripts/sql/apolloportaldb.sql
- source /your_local_path/scripts/sql/ApolloConfigDB.sql
- source /your_local_path/scripts/sql/ApolloConfigDB.sql(脚本的库名改成ApolloPortalDBPRO)
四、修改配置信息
1.修改数据库链接信息
server1,server2修改 /data/apollo/apollo-configservice,/data/apollo/apollo-configservice-pro,/data/apollo/apollo-adminservice,/data/apollo/apollo-adminservice-pro下config目录下的application-github.properties
server1修改/data/apollo/apollo-portal下config目录下的application-github.properties
spring.datasource.url = jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
spring.datasource.username = someuser
spring.datasource.password = somepwd
修改库连接信息为前面创建的数据库信息
2.修改启动端口号
server1,server2修改 /data/apollo/apollo-configservice,/data/apollo/apollo-configservice-pro,/data/apollo/apollo-adminservice,/data/apollo/apollo-adminservice-pro,/data/apollo/apollo-portal下scripts目录下的startup.sh,端口根据原端口进行灵活调整
apollo-adminservic
SERVER_PORT=${SERVER_PORT:=18090}
apollo-adminservic-pro
SERVER_PORT=${SERVER_PORT:=28090}
apollo-configservice
SERVER_PORT=${SERVER_PORT:=18080}
apollo-configservice-pro
SERVER_PORT=${SERVER_PORT:=28080}
apollo-portal
SERVER_PORT=${SERVER_PORT:=18070}
3.修改数据库表
修改apolloconfigdb库apolloconfigdb表
key=eureka.service.url
value=http:域名:18080/eureka/
修改apolloconfigdbpro库apolloconfigdb表
key=eureka.service.url
value=http:域名:28080/eureka/
修改apolloportaldb库serverconfig表
key=apollo.portal.envs
value=dev,pro
4.修改meta service信息
修改/data/apollo/apollo-portal下config的apollo-env.properties
dev.meta=http://域名:18080
pro.meta=http://域名:28080
域名:18080在nginx中对应,域名:28080类似
upstream bbk-apollo{
server server1:18080;
server server2:18080;
}
五、启动服务
server1:
sh /data/apollo/apollo-configservice/scripts/startup.sh
sh /data/apollo/apollo-configservice-pro/scripts/startup.sh
sh /data/apollo/apollo-adminservice/scripts/startup.sh
sh /data/apollo/apollo-adminservice-pro/scripts/startup.sh
sh /data/apollo/apollo-portal/scripts/startup.sh
server2:
sh /data/apollo/apollo-configservice/scripts/startup.sh
sh /data/apollo/apollo-configservice-pro/scripts/startup.sh
sh /data/apollo/apollo-adminservice/scripts/startup.sh
sh /data/apollo/apollo-adminservice-pro/scripts/startup.sh
六、查看是否部署成功
http://server1:18070
Apollo客户端会把从服务端获取到的配置在本地文件系统缓存一份,用于在遇到服务不可用,或网络不通的时候,依然能从本地恢复配置,不影响应用正常运行。
- Mac/Linux: /opt/data/{appId}/config-cache
- Windows: C:\opt\data\{appId}\config-cache
7、java springboot项目接入apollo
1.修改application.yml
在文件中添加下面配置,如果不设置环境,默认是dev
app: id: test apollo: meta: http://域名:18080 bootstrap: enabled: true namespaces: application.properties
2.添加注解
在application启动类上
@EnableApolloConfig
在参数添加注解 @Value("${xx}")
3.脚本启动
nohup java -Denv=pro -Dapp.id=xxx -Dapollo.meta=http://ip:port -jar app.jar >> app.log 2>&1 &
如果是在IDEA想设置环境,可以用下面的方式