目录
java环境部署
关闭防火墙
Apollo准备工作
启动apollo
使用Apollo配置中心
Apollo配置中心客户端集成
配置中心作为基础服务,可用性要求非常高,这就要求Apollo对外部依赖尽可能地少。
目前唯一的外部依赖是MySQL,所以部署非常简单,只要安装好Java和MySQL就可以让Apollo跑起来。
java环境部署
#进入到/usr/local目录
cd /usr/local/
#创建 java目录
mkdir java
#上传openjdk压缩包 并且解压
tar -xvf jdk_ri-8u40-b25-linux-x64-10_feb_2015.tar.gz
#更改环境配置文件
vim /etc/profile
#添加如下环境配置
export JAVA_HOME=/usr/local/java/java-se-8u40-ri
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
#刷新配置文件
source /etc/profile
关闭防火墙
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state
Apollo准备工作
Apollo下载地址
https://github.com/ctripcorp/apollo/releases
Apollo对应mysql的sql文件下载地址
https://github.com/ctripcorp/apollo/tree/master/scripts/sql
注意点: mysql要使用 5.6.5以上的 apollo有三个包 8070 8080 8090 保证这三个端口没有被占用
创建数据库
Apollo服务端共需要两个数据库:ApolloPortalDB和ApolloConfigDB,我们把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。
注意:如果你本地已经创建过Apollo数据库,请注意备份数据。我们准备的sql文件会清空Apollo相关的表。
上传压缩包到服务器上并且解压
#进入/usr/local/目录分别创建apollo/portal configservice configservice 目录
cd /usr/local/
mkdir apollo
cd apollo
mkdir portal
mkdir configservice
mkdir configservice
#上传压缩包到对应的文件夹中并且解压
unzip apollo-portal-1.3.0-github.zip
unzip apollo-configservice-1.3.0-github .zip
unzip apollo-adminservice-1.3.0-github.zip
配置文件在/config/application-github.properties 文件中改为我们的数据库即可
# DataSource
spring.datasource.url = jdbc:mysql://192.168.0.105:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = root
spring.datasource.password = root
启动apollo
apollo的3个服务,分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。
启动脚本为 启动需要较长的时间
/usr/local/apollo/portal/scripts/startup.sh
/usr/local/apollo/configservice/scripts/startup.sh
/usr/local/apollo/adminservice/scripts/startup.sh
使用Apollo配置中心
访问网址:打开http://${apollo的服务器地址}:8070
看到如图所示代表我们apollo启动成功,可能还是会有些错误请详细查看日志找寻问题
输入用户名apollo,密码admin后登录,说明成功
Apollo配置中心客户端集成
Maven信息依赖 可以直接冲Maven仓库拉取apollo客户端jar包
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client -->
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Springboot客户端配置添加
#apollo对应的配置文件
evn=dev
#apollo上对应的appid
app.id=goods_order
#自定义Apollo Meta Server地址定位逻辑
apollo.meta=http://192.168.25.149:8080
#本地缓存路径
apollo.cacheDir=/opt/data/
apollo.bootstrap.enabled=true
#Cluster(集群)
apollo.cluster=application