- 先安裝好 docker,新建 docker-compose.yml 檔案,將下面程式碼貼上到 docker-compose.yml 裡面
- cd 到 docker-compose.yml 所在目錄執行 docker-compose up
- 百度到的安裝方法都太複雜,此方式較為簡單快捷,適合懶人,執行結束後訪問localhost:8001,返回json表示一切ok
version: '3'
networks:
kong-net:
services:
kong:
image: kong:2.0.0-alpine
user: kong
environment:
KONG_DATABASE: 'off'
KONG_ADMIN_ACCESS_LOG: /dev/stdout
KONG_ADMIN_ERROR_LOG: /dev/stderr
KONG_ADMIN_LISTEN: '0.0.0.0:8001'
KONG_PROXY_ACCESS_LOG: /dev/stdout
KONG_PROXY_ERROR_LOG: /dev/stderr
networks:
- kong-net
ports:
- "8000:8000/tcp"
- "8001:8001/tcp"
- "8443:8443/tcp"
- "8444:8444/tcp"
healthcheck:
test: ["CMD", "kong", "health"]
interval: 10s
timeout: 10s
retries: 10
restart: on-failure
此模式為無資料庫模式
- 使用 docker-compose start 啟動 kong,前提 cd 到 docker-compose.yml 目錄
- 使用 docker-compose stop 停止 kong 服務
- 建立一個服務
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=baidu' \
--data 'url=http://baidu.com'
- 建立一個路由和剛剛的服務關聯
curl -i -X POST \
--url http://localhost:8001/services/baidu/routes \
--data 'paths[]=/baidu'
以上請求可以使用介面工具傳送
- 測試閘道器是否可以成功轉發請求
- 瀏覽器訪問 localhost:8000/baidu
- 如果成功訪問了百度,說明以上設定成功
- 以上測試是透過url規則來匹配,kong支援多種方式,有一種是在header頭中加入host標識來路由到服務,這種我沒有測試成功,如果有人測試通了麻煩告知我一下
- 開源並且基於nginx效能卓越
- 配合kanga可實現視覺化操作,多種外掛可選,實現服務監控限流熔斷等等功能
- 跨語言,任何語言的寫的後端服務都可以使用
本作品採用《CC 協議》,轉載必須註明作者和本文連結