Apollo(阿波羅)是攜程框架部門研發的配置管理平臺,可以集中化管理應用不一樣環境、不一樣集羣的配置,配置修改後可以實時推送到應用端,而且具有規範的權限、流程治理等特性。服務端基於Spring Boot和Spring Cloud開發,打包後能夠直接運行,不須要額外安裝Tomcat等應用容器。Java客戶端不依賴任何框架,可以運行於全部Java運行時環境,同時對Spring環境也有較好的支持。.Net客戶端不依賴任何框架,可以運行於全部.Net運行時環境,並且已經支持.NET Core。mysql
官網:https://github.com/ctripcorp/apollogit
Wiki:https://github.com/ctripcorp/apollo/wiki(一切的集成方式和使用方法都在這裏)github
Issues:https://github.com/ctripcorp/apollo/issues(若是期間有任何問題,請經過這裏查找大部分解決方法)sql
說明:官方提供了分佈式部署方案,可是基於本地開發和調試上通常是單機部署的比較多。且提供的Quick Start方案跑不起來。因此下面將針對單機搭建上作詳細的實踐,用做開發環境。數據庫
注意:若是是生產環境必定要使用分佈式部署方案來作高可用集羣。服務器
下載Release版本:https://github.com/ctripcorp/apollo/releases框架
一、環境:分佈式
JDK:1.8.0_161ui
Maven:3.5.2命令行
MySQL:5.7.18
apollo:0.9.1
二、解壓
wget https://github.com/ctripcorp/apollo/archive/v0.9.1.tar.gz
tar zxvf apollo-0.9.1.tar.gz
三、導入數據庫文件
登陸MySQL命令行,而後執行
/data/apollo/apollo-0.9.1/scripts/sql/apolloconfigdb.sql
/data/apollo/apollo-0.9.1/scripts/sql/apolloportaldb.sql
四、打包
修改/data/apollo/apollo-0.9.1/scripts/build.sh,把數據庫帳號密碼修改成咱們的密碼以及mysql 服務器地址。只保留dev_meta,其餘的都刪除
#
dev_meta=http://localhost:8080
META_SERVERS_OPTS="-Ddev_meta=$dev_meta"
而後執行
./build.sh
該腳本會依次打包apollo-configservice, apollo-adminservice, apollo-portal和apollo-client。
五、啓動
apollo-configservice:
切換到目錄 /data/apollo/apollo-0.9.1/apollo-configservice/target,解壓apollo-configservice-0.9.1-github.zip
unzip apollo-configservice-0.9.1-github.zip –d test
執行腳本啓動服務
./startup.sh
apollo-adminservice:
切換到目錄 /data/apollo/apollo-0.9.1/apollo-adminservice/target,解壓apollo-adminservice-0.9.1-github.zip
unzip apollo-adminservice-0.9.1-github.zip –d test
執行腳本啓動服務
./startup.sh
apollo-portal:
apollo-portal的默認端口是8080,和apollo-configservice一致,因此若是須要在一臺機器上同時啓動apollo-portal和apollo-configservice的話,須要修改apollo-portal的端口。直接修改startup.sh中的SERVER_PORT便可,如SERVER_PORT=8070。
切換到目錄 /data/apollo/apollo-0.9.1/apollo-portal/target,解壓apollo-portal-0.9.1-github.zip
unzip apollo-portal-0.9.1-github.zip –d test
修改端口:
執行腳本啓動服務
./startup.sh
六、訪問
http://localhost:8070 ,默認用戶名/密碼參考 Portal 實現用戶登陸功能。