# apollo 单机部署 (快速安装)
Apollo
官网:https://www.apolloconfig.com/#/zh/deployment/quick-start-docker
官网单机部署的方式分为两种:普通部署和 docker
部署。
# 1、普通部署
需要安装 MySQL
和 Java
环境。
Apollo 服务端共需要两个数据库: ApolloPortalDB
(apollo 页面) 和 ApolloConfigDB
(apollo 使用的),把数据库、表的创建和样例数据都分别准备了 sql 文件,只需要导入数据库即可。
ps:数据库Mysql的版本建议在5.7以上, 最低要求5.6.4以上
然后建立数据库连接,进入到快速包下面 ( apollo-quick-start
), 下面有 demo.sh
, 进行编辑:
将对应的数据库名和地址修改成自己的。
在启动服务之前需要确认 8070
、 8080
、 8090
端口未被占用,然后直接启动 ./demo.sh
./demo.sh start |
等待启动完毕之后,通过你的外网 ip 访问 8070
、 8080
、 8090
这几个端口就可以了。
# 2、docker 部署
基于上述环境,我们暂停 demo.sh
的执行: ./demo.sh stop
, 在快速包中 ( apollo-quick-start
) 使用 docker-compose up
运行;
# 3、SpringBoot 中集成
先添加 maven 依赖
<dependency> | |
<groupId>com.ctrip.framework.apollo</groupId> | |
<artifactId>apollo-client</artifactId> | |
<version>2.0.1</version> | |
</dependency> |
然后去 yml 文件里面增加以下配置
server: | |
port: 8000 | |
app: | |
id: apolloTest | |
apollo: | |
bootstrap: | |
enabled: true | |
meta: http://服务器外网地址:8080 |
最后,在启动类上开启 apollo: @EnableApolloConfig
@SpringBootApplication | |
@EnableApolloConfig | |
public class ApolloTestApplication { | |
public static void main(String[] args) { | |
SpringApplication.run(ApolloTestApplication.class, args); | |
} | |
} |
在服务器部署的 Apollo
会有问题,客户端请求的时候地址会出现服务器的内网地址,那肯定是访问不到的。
所以我们进行以下设置:
指定应用的 AppId
app.id=apolloTest |
在服务启动设置上配置 apollo
参数;
-Dapollo.configService=http://服务器外网地址:8080 |
如果上述方法不管用,那么还有一种解决方案,但是这种方案只适用于普通部署,不适用于 docker 部署。
# 4.eureka 内网访问解决方案参考
参考下图,我们增加配置
-Deureka.instance.ip-address=你的公网IP