本博客讲详细讲解如何在 Windows 搭建携程 Apollo 服务器 (用户个人开发). 开发服务器有多种搭建方式:
(1) docker, 搭建过程非常简单, 推荐有 docker 环境(2) 部署 Quick start 发行版, 本文采用 Quick start 版部署. ============================Windows 服务器环境准备============================------------------------------bash 运行环境------------------------------Apollo 官方仅提供了一个 bash 脚本启动文件, 所以需要 Windows 下可以执行 bash 脚本, 推荐安装 Git bash 软件包, 官方下载网址为 https://git-for-windows.github.io/, 国内镜像下载网址为 https://github.com/waylau/git-for-win/ ------------------------------Java ------------------------------Apollo 服务器需要 Jdk8+, Apollo 客户端需要 Jdk7+. 这里安装的是 Jdk8, 如果安装全路径中包括空格, 后面启动 apollo 会有问题, 当然我们也没有必要重新安装, 只需要将安装好的 jdk 文件夹复制一份到没有空格的目录下, 比如复制到 D:\my_program\jdk1.8.0_144\ ------------------------------MySQL ------------------------------Apollo 后台数据库是 MySQL, 官网要求安装 5.6.5 以上版本, 我装的是 5.7 ------------------------------下载 Quick Start 安装包------------------------------下载网址 https://github.com/ctripcorp/apollo/wiki/Quick-Start并解压到 D:\my_program\apollo-quick-start 目录下. ============================部署过程============================------------------------------创建数据库------------------------------apollo 后台需要两个数据库, 一个是配置服务用的, 另一个是 portal 用的, 手工执行下面的 SQL 监本创建这两个数据库. sql 脚本为:1. apollo-quick-start\sql\apolloconfigdb.sql2. apollo-quick-start\sql\apolloportaldb.sql ------------------------------demo.sh 文件修改数据库配置------------------------------Quick start 发行版的数据库配置信息在 demo.sh 文件中, 修改 MySQL 的用户和密码即可.#apollo config db infoapollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8apollo_config_db_username=用户名apollo_config_db_password=密码(如果没有密码,留空即可)# apollo portal db infoapollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8apollo_portal_db_username=用户名apollo_portal_db_password=密码(如果没有密码,留空即可)
2. 修改工作目录
原来为 cd "${0%/*}"修改为 cd D://my_program/apollo-quick-start3. 注释掉 java 版本检查的 if 语句块:
#if [[ "$version" < "1.8" ]]; then # echo "Java version is $version, please make sure java 1.8+ is in the path" # exit 1 #fi
meta server 和 config service 和 eureka_service 是部署在同一个 JVM 进程,所以 meta server 的地址就是 config service 的地址.
eureka_service_url 的路径为: eureka_service_url=$config_server_url/eureka/http://localhost:8080
输入用户名 apollo,密码 admin 后登录. 该用户是一个超级管理员. ============================基本配置============================1. 添加用户portal 上有管理用户的界面.2. 添加超级管理员
需要在 portal DB 中执行下面的 SQL,select value,t.* from ApolloPortalDB.ServerConfig twhere `key`='superAdmin'value 字段, 以逗号分割多个 username .3. 添加部门
需要在 portal DB 中执行下面的 SQL,select value,t.* from ApolloPortalDB.ServerConfig twhere `key`='organizations'value 的样式是,
[{"orgId":"TEST1","orgName":"样例部门 1"},{"orgId":"TEST2","orgName":"样例部门 2"}]apollo 中的部门和用户没有什么直接联系, 部门仅仅是一个显示项而已. ============================参考============================官方Quick start 文档
https://github.com/ctripcorp/apollo/wiki/Quick-Start如何编排和部署容器化的Apollo服务http://ghoulich.xninja.org/2018/04/25/how-to-build-and-deploy-containerized-apollo-service/如何编译安装Apollo服务器(单机版)http://ghoulich.xninja.org/2018/04/24/how-to-build-and-install-apollo-in-standalone-mode/
==========================================
Apollo 总体架构和官方文档==========================================https://www.infoq.cn/article/open-source-configuration-center-apollohttp://www.infoq.com/cn/articles/ctrip-apollo-configuration-center-architecturehttps://nobodyiam.com/2018/07/29/configuration-center-makes-microservices-smart/https://github.com/ctripcorp/apollo/wiki