一、环境准备

  jdk : 1.8+         mysql  5.6.5+

二、安装包下载

  https://github.com/ctripcorp/apollo/releases

  下载如下三个压缩包

  下载sql文件,下载地址 :https://github.com/apolloconfig/apollo-quick-start/tree/master/sql  

三、部署apollo

1、新建安装目录,放置下载好的安装包

2、解压到当前目录

# 创建模块目录
mkdir apollo-adminservice-prod apollo-adminservice-dev apollo-portal
# 解压到对应的目录
unzip apollo-adminservice-1.6.0-github.zip -d apollo-adminservice-prod
unzip apollo-configservice-1.6.0-github.zip -d apollo-configservice-prod
unzip apollo-portal-1.6.0-github.zip -d apollo-portal

  

3、修改配置文件

3.1 修改生产环境adminservice、configservice配置

--进入目录
cd /opt/apollo
############################################ apollo-adminservice-prod ############################################
vim apollo-adminservice-prod/config/application-github.properties # DataSource
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = apollo
spring.datasource.password = IOT@1033Ff ############################################ apollo-configservice-prod ############################################
vim apollo-configservice/config/application-github.properties # DataSource
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloConfigDB?characterEncoding=utf8
spring.datasource.username = apollo
spring.datasource.password = IOT@1033Ff

3.2 复制生产环境的 adminservice 和 configservice目录,作为开发环境部署目录

cp -r apollo-adminservice-prod apollo-adminservice-dev
cp -r apollo-configservice-prod apollo-configservice-dev

 修改开发环境配置

############################################ apollo-adminservice-dev ############################################vim apollo-configservice/
vim apollo-configservice-dev/scripts/startup.sh

#!/bin/bash
 SERVICE_NAME=apollo-adminservice
 ## Adjust log dir if necessary
 LOG_DIR=/opt/logs/100003182
 ## Adjust server port if necessary
 SERVER_PORT=${SERVER_PORT:=8190}

....

############################################ apollo-configservice-dev ############################################vim apollo-configservice/
vim apollo-adminservice-dev/scripts/startup.sh

#!/bin/bash
  SERVICE_NAME=apollo-configservice
  ## Adjust log dir if necessary
  LOG_DIR=/opt/logs/100003181
  ## Adjust server port if necessary
  SERVER_PORT=${SERVER_PORT:=8180}

.....

## 这里该的配置主要是为了避免跟生产环境的adminservice、configservice端口冲突,日志文件也要改

3.3 修改portal配置

############################################ apollo-portal ############################################
vim apollo-portal/config/application-github.properties # DataSource
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/ApolloPortalDB?characterEncoding=utf8
spring.datasource.username = apollo
spring.datasource.password = IOT@1033Ff --------------------------------------------------------------------------- vim apollo-portal/config/apollo-env.properties pro.meta=http://localhost:8080
dev.meta=http://localhost:8180
#local.meta=http://localhost:8080
#fat.meta=http://fill-in-fat-meta-server:8080
#uat.meta=http://fill-in-uat-meta-server:8080
#lpt.meta=${lpt_meta}

四、数据库初始化

4.1 使用docker启动mysql

docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD="IOT@1033&ff" mysql:5.7

mysql> CREATE DATABASE ApolloPortalDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
  Query OK, 1 row affected (0.00 sec)


mysql> CREATE DATABASE ApolloConfigDB DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
  Query OK, 1 row affected (0.00 sec)


mysql> create user apollo@'%' identified by 'IOT@1033Ff';
  Query OK, 0 rows affected (0.00 sec)


mysql> grant all privileges on *.* to 'apollo'@'%';
  Query OK, 0 rows affected (0.00 sec)


mysql> flush privileges;
  Query OK, 0 rows affected (0.00 sec)

## 导入数据
 mysql -uapollo -p"IOT@1033Ff" ApolloConfigDB < /opt/apolloconfigdb.sql
 mysql -uapollo -p"IOT@1033Ff" ApolloPortalDB < /opt/apolloportaldb.sql

修改【apolloportaldb数据库】【serverconfig表】字段:apollo.portal.envs、configView.memberOnly.envs、apollo.portal.meta.servers

五、启动服务

5.1  启动生产环境

bash /opt/apollo/apollo-adminservice-prod/scripts/startup.sh
bash /opt/apollo/apollo-confingservice-prod/scripts/startup.sh

5.2 启动开发环境

bash /opt/apollo/apollo-adminservice-dev/scripts/startup.sh
bash /opt/apollo/apollo-confingservice-dev/scripts/startup.sh

5.3 启动portal

bash /opt/apollo/apollo-portal/scripts/startup.sh

六、访问

http://ip:8070  默认账号:apollo 默认密码:admin

点击实例项目。可以看到有两个环境列表

apollo多环境部署的更多相关文章

  1. 配置中心Apollo多环境部署

  2. docker-compose 部署 Apollo 自定义环境

    Apollo 配置中心是什么: ​ Apollo是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性. ...

  3. spring cloud 集成分布式配置中心 apollo(单机部署apollo)

    一.什么是apollo? Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用 ...

  4. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  5. Jmeter安装与环境部署

    Jmeter安装与环境部署 版权声明:本文为博主原创文章,未经博主允许不得转载. 博主:海宁 联系:whnsspu@163.com

  6. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  7. .Net Core 跨平台系列之环境部署

    前言 作为一名.NET程序员,很多时候都会被什么拖控件.跨平台等字眼所鄙视过,但是在我的的内心还是没有把自己看低过.因为说到底,平台和语言只是我们吃饭的工具.很多时候公司的发展是取决于商业竞争的,微软 ...

  8. DotNet Core 1.0 集成 CentOS 开发与运行环境部署

    一.     DotNet Core 1.0 开发环境部署 操作系统安装 我们使用CentOS 7.2.1511版本. 安装libunwind库 执行:sudo yum install libunwi ...

  9. Nutch2+Hbase环境部署和基本使用

    由于项目想借助Nutch来做网络爬虫,所以一番研究,发现网上文档比较散,学习的很艰难,因此总结了一些,放上来与大家交流. 1       环境部署 Nutch有1.x系列和2.x系列,主要区别是2.x ...

  10. Anyconnect的VPN环境部署(2)-在Linux客户机上连接Anyconnect

    由于之前已经在机房IDC安装了Anyconnect的VPN服务环境(参考:Anyconnect的VPN环境部署(1)-OpenConnect server(ocserv)服务安装)今天介绍下在linu ...

随机推荐

  1. R画韦恩图之总结

    本文分享自微信公众号 - 生信科技爱好者(bioitee).如有侵权,请联系 support@oschina.cn 删除.本文参与"OSC源创计划",欢迎正在阅读的你也加入,一起分 ...

  2. AI 协助办公 |记一次用 GPT-4 写一个消息同步 App

    GPT-4 最近风头正劲,作为 NebulaGraph 的研发人员的我自然是跟进新技术步伐.恰好,现在有一个将 Slack channel 消息同步到其他 IM 的需求,看看 GPT-4 能不能帮我完 ...

  3. WPF中关于转换器

    实例:关于播放器按钮状态的改变 说明:对Kind(种类)的绑定首先在viewmodel中声明一个属性IsPlay,然后在转换器中实现按钮的状态 转换器 在解决方案中的项目里新建一个Converters ...

  4. V8是如何执行JavaScript代码的?

    前言 一般来讲,电脑是不能直接运行我们的javascript代码的,它需要一个翻译程序将人类能够理解的编程语言 JavaScript,翻译成机器能够理解的机器语言.目前市面上有很多种 JavaScri ...

  5. 【技术积累】Java中的集合框架【一】

    什么是Java集合框架? Java集合框架是Java编程语言中提供的一组接口.实现和算法,用于存储和操作数据集合.集合框架可以让程序员更加高效地组织和操作数据,而无需手动实现底层数据结构. Java集 ...

  6. 反转链表 Java版 图文并茂思路分析带答案(力扣第206题)

    反转链表 力扣第206题 我们不只是简单的学习(背诵)一个数据结构,而是要分析他的思路,以及为什么要有不同的指针等等 非递归方式: 思路分析:首先要链表有个头指针没有任何问题 然后,我们要将1的下一个 ...

  7. 获取邮箱(QQ、126、163)的客户端授权码

    获取QQ邮箱的客户端授权码 1.首先登录QQ邮箱(https://mail.qq.com),然后,点击"设置"按钮. 2.点击"账户"按钮,进入"账户 ...

  8. 理解ASP.NET Core - 限流(Rate Limiting)

    注:本文隶属于<理解ASP.NET Core>系列文章,请查看置顶博客或点击此处查看全文目录 概述 在微服务化的架构设计中,网关扮演着重要的看门人角色,它所提供的功能之一就是限流.而对于众 ...

  9. 2023年郑州轻工业大学校赛邀请赛zzh

    第一次参加线下赛体验很好,面包和酸奶很好吃.ABL三题难度超出我们的能力范围,没能写出来,C题在读完题后,我们三个简单交流了一下,确定思路后我写的代码,一次AC,很顺利.D题简单的01背包,但我在写代 ...

  10. C++(继承)

    继承 struct Person { int age; int sex; }; struct Teacher { int age; int sex; int level; int classId; } ...