linux下安装部署apollo,本地springboot整合apollo获取参数(亲测成功)
文章目录
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配置:
更多推荐
所有评论(0)