什么是apisix
https://www.cnblogs.com/loseself/p/16142554.html
apisix本地啟動
環境
mac 電腦, mac os 操作系統, 使用docker啟動apisix
參考文檔
https://apisix.apache.org/zh/docs/apisix/getting-started#前提條件
docker啟動的步驟
- 安裝mac docker軟件
https://docs.docker.com/desktop/mac/install/
- 進入自己的項目文件, 克隆下載apisix docker項目
- 啟動docker的apisix
# 進入自己的項目文件夾
cd ~/xxx
#將 Apache APISIX 的 Docker 鏡像下載到本地
git clone https://github.com/apache/apisix-docker.git
# 將當前的目錄切換到 apisix-docker/example 路徑下
cd apisix-docker/example
# 運行 docker-compose 命令,安裝 Apache APISIX
docker-compose -p docker-apisix up -d
其他啟動方式
參考: https://apisix.apache.org/zh/docs/apisix/how-to-build/
啟動后的介紹
- etcd: apisix的配置中心, 服務注冊發現中心
- apisix
- apisix-dashboard: apisix的ui界面, 可以頁面操作apisix, 也可以命令行
- web1, web2: apisix docker提供的兩個上游服務, 用來測試使用
- prometheus, grafana: 暫時不用, 暫不介紹
訪問
# 記得更換自己機器的ip
IP=xxx
# ui
http://$IP:9000/
# web1, web2
curl -i -X GET http://$IP:9081/hello
curl -i -X GET http://$IP:9082/hello
# apisix
curl "http://$IP:9080/apisix/admin/services/" -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'
參考apisix文檔, 並使用
注意
注意: 這里使用ip訪問的話, 盡量使用你自己機器的ip, 不要使用127.0.0.1
因為有時候你綁定某些你自己的服務的時候, 使用本地, docker里面的apisix訪問不到
所以統一使用你的機器的ip
ifconfig | grep 192
插件的使用
參考: https://apisix.apache.org/zh/docs/apisix/plugins/echo
這里使用apisix的echo插件, 進行舉例
訪問上游web1
IP=xxx
curl -i -X GET http://$IP:9081/hello
創建路由並綁定echo插件
IP=xxx
curl http://$IP:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
{
"plugins": {
"echo": {
"before_body": "before the body modification "
}
},
"upstream": {
"nodes": {
"$IP:9081": 1
},
"type": "roundrobin"
},
"uri": "/hello"
}'
訪問代理后的web1
# 9080是apisix的端口
IP=xxx
curl -i -X GET http://$IP:9080/hello
快速開始使用
參考: https://apisix.apache.org/zh/docs/apisix/getting-started#第一步:安裝-apache-apisix
apisixi名詞解釋
參考: https://apisix.apache.org/zh/docs/apisix/architecture-design/apisix