Apache APISIX 安装与使用指南

1,498 阅读3分钟

Apache APISIX 安装与使用指南

目录

  1. 简介
  2. 安装
  3. 配置
  4. 使用
  5. 常见问题
  6. 参考文档

简介

Apache APISIX 是一个高性能、可扩展的云原生 API 网关,基于 Nginx 和 etcd 实现。它支持动态路由、负载均衡、身份验证、监控、日志记录等功能,适用于微服务架构和云原生环境。


安装

环境要求

  • 操作系统:Linux(推荐 CentOS 7+、Ubuntu 16.04+)
  • 依赖:
    • OpenResty(APISIX 基于 OpenResty 构建)
    • etcd(用于存储配置)
  • 硬件:
    • 至少 1 核 CPU
    • 至少 1GB 内存

安装方式

通过 RPM 包安装(适用于 CentOS/RedHat)
  1. 安装依赖:

    sudo yum install -y epel-release
    sudo yum install -y openresty etcd
    
  2. 下载并安装 APISIX:

    sudo yum install -y https://github.com/apache/apisix/releases/download/3.0.0/apisix-3.0.0-0.el7.x86_64.rpm
    
  3. 启动 etcd:

    sudo systemctl start etcd
    sudo systemctl enable etcd
    
  4. 启动 APISIX:

    sudo systemctl start apisix
    sudo systemctl enable apisix
    
通过 Docker 安装
  1. 拉取 APISIX 镜像:

    docker pull apache/apisix:3.0.0
    
  2. 启动 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)
  1. 添加 APISIX Helm 仓库:

    helm repo add apisix https://charts.apiseven.com
    helm repo update
    
  2. 安装 APISIX:

    helm install apisix apisix/apisix --namespace apisix --create-namespace
    

配置

基本配置

  1. 配置文件路径:

    • RPM 安装:/usr/local/apisix/conf/config.yaml
    • Docker 安装:挂载到容器内的 /usr/local/apisix/conf/config.yaml
  2. 示例配置:

    apisix:
      node_listen: 9080
      enable_admin: true
      admin_key:
        - name: admin
          key: edd1c9f034335f136f87ad84b625c8f1
          role: admin
    etcd:
      host:
        - "http://127.0.0.1:2379"
    

启用插件

  1. 编辑配置文件,启用插件:

    plugins:
      - limit-count
      - key-auth
      - prometheus
    
  2. 重启 APISIX 以应用配置:

    sudo systemctl restart apisix
    

使用

启动 APISIX

  • 如果已通过 RPM 安装,使用以下命令启动:

    sudo systemctl start apisix
    
  • 如果使用 Docker,容器启动后 APISIX 会自动运行。

管理路由

  1. 通过 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
        }
      }
    }'
    
  2. 测试路由:

    curl -i http://127.0.0.1:9080/get
    

监控与日志

  1. 启用 Prometheus 插件:

    • 在配置文件中启用 prometheus 插件。
    • 访问 http://127.0.0.1:9091/apisix/prometheus/metrics 查看指标。
  2. 查看日志:

    • 日志路径:/usr/local/apisix/logs/
    • 主要日志文件:
      • access.log:访问日志
      • error.log:错误日志

常见问题

  1. APISIX 无法启动

    • 检查 etcd 是否正常运行。
    • 检查配置文件是否正确。
  2. 路由未生效

    • 检查路由配置是否正确。
    • 确保 Admin API 的 X-API-KEY 正确。
  3. Prometheus 数据未显示

    • 确保 prometheus 插件已启用。
    • 检查 Prometheus 配置是否正确。

参考文档


以上是 Apache APISIX 的安装与使用指南,更多详细信息请参考官方文档。