前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器之Apollo单机部署(快速安装)

服务器之Apollo单机部署(快速安装)

作者头像
xbhog
发布2022-10-31 12:01:01
1.2K0
发布2022-10-31 12:01:01
举报
文章被收录于专栏:开发技能乱炖

apollo单机部署(快速安装)

Apollo官网:https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 官网单机部署的方式分为两种:普通部署和docker部署。

普通部署

需要安装MySQLJava环境。 Apollo服务端共需要两个数据库:ApolloPortalDB(apollo页面)和ApolloConfigDB(apollo使用的),把数据库、表的创建和样例数据都分别准备了sql文件,只需要导入数据库即可。

image.png
image.png

然后建立数据库连接,进入到快速包下面(apollo-quick-start),下面有demo.sh,进行编辑: 将对应的数据库名和地址修改成自己的。

image.png
image.png

在启动服务之前需要确认8070、8080、8090端口未被占用,然后直接启动./demo.sh

代码语言:javascript
复制
==== starting service ====
Service logging file is ./service/apollo-service.log
Started [10768]
Waiting for config service startup.......
Config service started. You may visit http://localhost:8080 for service status now!
Waiting for admin service startup....
Admin service started
==== starting portal ====
Portal logging file is ./portal/apollo-portal.log
Started [10846]
Waiting for portal startup......
Portal started. You can visit http://localhost:8070 now!

首先会启动erueka服务,然后启动portal 配置中心,最后访问[http://服务器外网地址:8070](http://服务器外网地址:8070)即可;账号:apollo,密码:admin;具体如下图所示:

image.png
image.png
image.png
image.png

docker部署

基于上述环境,我们暂停demo.sh的执行:./demo.sh stop,在快速包中(apollo-quick-start)使用docker-compose up运行;

image.png
image.png

SpringBoot集成Apollo

这一步就是个坑😂,创建SpringBoot不多说,在maven仓库找到客户端;

image.png
image.png

取最新版即可(截至2022年10月21日):

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/com.ctrip.framework.apollo/apollo-client -->
<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>2.0.1</version>
</dependency>

错误配置:

代码语言:javascript
复制
server:
  port: 8000
app:
  id: apolloTest
apollo:
  bootstrap:
    enabled: true
  meta: http://服务器外网地址:8080

在启动类上开启apollo:@EnableApolloConfig

代码语言:javascript
复制
@SpringBootApplication
@EnableApolloConfig
public class ApolloTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApolloTestApplication.class, args);
    }

}

服务器部署的Apollo会有问题,客户端请求的时候地址会出现服务器的内网地址,那肯定是访问不到的。

image.png
image.png

所以我们进行以下设置: 指定应用的AppId

代码语言:javascript
复制
app.id=apolloTest

在服务启动设置上配置apollo参数;

代码语言:javascript
复制
-Dapollo.configService=http://服务器外网地址:8080
image.png
image.png

需要对应起来,新增配置key:service,value:hello world,并且是已发布

image.png
image.png
代码语言:javascript
复制
public class TestController {

    @Value(value = "${service}")
    private String name;

    @RequestMapping("test")
    public String test(){
        return "hello world -->"+name;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • apollo单机部署(快速安装)
  • 普通部署
  • docker部署
  • SpringBoot集成Apollo
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档