apisix-启动与使用
什么是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