1. 通過源碼打包
到攜程Apollo地址 https://github.com/ctripcorp/apollo 下載Apollo源碼,可在源碼中進行自定義配置日志路徑及端口等,之后打包。
打包完成后在 target 目錄下的 apollo-configservice-1.3.0-github.zip 即為可部署的服務包
apollo-configservice-1.3.0-github.zip 內容如下
上面以apollo-configservice為例,部署所需的另外兩個模塊apollo-adminservice,apollo-portal的打包步驟相同。
當然,如果不需要特別定制開發,Release 也提供了預先打包好的安裝包,可以到 https://github.com/ctripcorp/apollo/releases 下載使用。
2. 部署數據庫
Apollo服務端共需要兩個數據庫:ApolloPortalDB 和 ApolloConfigDB,創建這兩個數據庫,1.3.0版本開始為了支持Flyway,sql位置和命名已修改,位置如下。
注意:需配置數據庫大小寫不敏感
另外需要注意的是ApolloPortalDB只需要在生產環境部署一個即可,而ApolloConfigDB需要在每個環境部署一套,如dev、uat和pro分別部署3套ApolloConfigDB。但是ApolloPortalDB.serverconfig表中需要把可支持的環境列表配置到apollo.portal.envs字段上。
3. 部署服務
3.1 部署apollo-configservice
將對應環境的apollo-configservice-x.x.x-github.zip上傳到服務器上,解壓,核對修改scripts/startup.sh中的配置,數據庫、JVM配置、日志、端口等都可以在這里再次進行配置。
- 如果需要修改JVM參數,可以修改scripts/startup.sh的JAVA_OPTS部分。
- 如要調整服務的日志輸出路徑,可以修改scripts/startup.sh和apollo-configservice.conf中的LOG_DIR。
- 如要調整服務的監聽端口,可以修改scripts/startup.sh中的SERVER_PORT。另外apollo-configservice同時承擔meta server職責,如果要修改端口,注意要同時ApolloConfigDB.ServerConfig表中的eureka.service.url配置項以及apollo-portal和apollo-client中的使用到的meta server信息。
- 如果ApolloConfigDB.ServerConfig的eureka.service.url只配了當前正在啟動的機器的話,在啟動apollo-configservice的過程中會在日志中輸出eureka注冊失敗的信息,如com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused。需要注意的是,這個是預期的情況,因為apollo-configservice需要向Meta Server(它自己)注冊服務,但是因為在啟動過程中,自己還沒起來,所以會報這個錯。后面會進行重試的動作,所以等自己服務起來后就會注冊正常了。
如下為pro環境的配置
如果配置多個環境,需要另外單獨部署 apollo-configservice的服務和ApolloConfigDB數據庫,同時腳本中修改meta。
執行scripts/startup.sh即可啟動configservice服務。如需停止服務,執行scripts/shutdown.sh。
訪問ip:9001驗證服務是否啟動。
3.2 部署apollo-adminservice
將對應環境的apollo-adminservice-x.x.x-github.zip上傳到服務器上,解壓后執行scripts/startup.sh即可。如需停止服務,執行scripts/shutdown.sh。
自定義啟動腳本中的參數。
如果配置多個環境,需要另外單獨部署 apollo-adminservice的服務和ApolloConfigDB數據庫,同時腳本中修改meta。
執行scripts/startup.sh即可啟動adminservice服務。如需停止服務,執行scripts/shutdown.sh。
訪問ip:9002,如果頁面出現 apollo-adminservice 即為啟動成功。
3.3 部署apollo-portal
將apollo-portal-x.x.x-github.zip上傳到服務器上,解壓后執行scripts/startup.sh即可。如需停止服務,執行scripts/shutdown.sh.
自定義啟動腳本中的參數。
執行scripts/startup.sh即可啟動portal服務。如需停止服務,執行scripts/shutdown.sh。
訪問ip:9003出現登錄頁面即為啟動成功,超級管理用戶為apollo/admin,進入即可進行配置。