Apache APISIX 安装与使用指南
目录
简介
Apache APISIX 是一个高性能、可扩展的云原生 API 网关,基于 Nginx 和 etcd 实现。它支持动态路由、负载均衡、身份验证、监控、日志记录等功能,适用于微服务架构和云原生环境。
安装
环境要求
- 操作系统:Linux(推荐 CentOS 7+、Ubuntu 16.04+)
- 依赖:
- OpenResty(APISIX 基于 OpenResty 构建)
- etcd(用于存储配置)
- 硬件:
- 至少 1 核 CPU
- 至少 1GB 内存
安装方式
通过 RPM 包安装(适用于 CentOS/RedHat)
-
安装依赖:
sudo yum install -y epel-release sudo yum install -y openresty etcd -
下载并安装 APISIX:
sudo yum install -y https://github.com/apache/apisix/releases/download/3.0.0/apisix-3.0.0-0.el7.x86_64.rpm -
启动 etcd:
sudo systemctl start etcd sudo systemctl enable etcd -
启动 APISIX:
sudo systemctl start apisix sudo systemctl enable apisix
通过 Docker 安装
-
拉取 APISIX 镜像:
docker pull apache/apisix:3.0.0 -
启动 APISIX 容器:
docker run -d --name apisix \ -p 9080:9080 -p 9443:9443 \ -v /path/to/apisix/config.yaml:/usr/local/apisix/conf/config.yaml \ apache/apisix:3.0.0
通过 Helm 安装(Kubernetes)
-
添加 APISIX Helm 仓库:
helm repo add apisix https://charts.apiseven.com helm repo update -
安装 APISIX:
helm install apisix apisix/apisix --namespace apisix --create-namespace
配置
基本配置
-
配置文件路径:
- RPM 安装:
/usr/local/apisix/conf/config.yaml - Docker 安装:挂载到容器内的
/usr/local/apisix/conf/config.yaml
- RPM 安装:
-
示例配置:
apisix: node_listen: 9080 enable_admin: true admin_key: - name: admin key: edd1c9f034335f136f87ad84b625c8f1 role: admin etcd: host: - "http://127.0.0.1:2379"
启用插件
-
编辑配置文件,启用插件:
plugins: - limit-count - key-auth - prometheus -
重启 APISIX 以应用配置:
sudo systemctl restart apisix
使用
启动 APISIX
-
如果已通过 RPM 安装,使用以下命令启动:
sudo systemctl start apisix -
如果使用 Docker,容器启动后 APISIX 会自动运行。
管理路由
-
通过 Admin API 创建路由:
curl -i http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d ' { "uri": "/get", "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }' -
测试路由:
curl -i http://127.0.0.1:9080/get
监控与日志
-
启用 Prometheus 插件:
- 在配置文件中启用
prometheus插件。 - 访问
http://127.0.0.1:9091/apisix/prometheus/metrics查看指标。
- 在配置文件中启用
-
查看日志:
- 日志路径:
/usr/local/apisix/logs/ - 主要日志文件:
access.log:访问日志error.log:错误日志
- 日志路径:
常见问题
-
APISIX 无法启动
- 检查 etcd 是否正常运行。
- 检查配置文件是否正确。
-
路由未生效
- 检查路由配置是否正确。
- 确保 Admin API 的
X-API-KEY正确。
-
Prometheus 数据未显示
- 确保
prometheus插件已启用。 - 检查 Prometheus 配置是否正确。
- 确保
参考文档
以上是 Apache APISIX 的安装与使用指南,更多详细信息请参考官方文档。