APISIX 安装指南

本文将介绍如何在你的环境中安装并运行 APISIX。

关于如何快速运行 Apache APISIX,请参考入门指南

安装 APISIX

你可以选择以下任意一种方式安装 APISIX:

  • Docker
  • Helm
  • RPM
  • Source Code

使用此方法安装 APISIX,你需要安装 DockerDocker Compose

首先下载 apisix-docker 仓库。

  1. git clone https://github.com/apache/apisix-docker.git
  2. cd apisix-docker/example

然后,使用 docker-compose 启用 APISIX。

  • x86
  • ARM/M1
  1. docker-compose -p docker-apisix up -d
  1. docker-compose -p docker-apisix -f docker-compose-arm64.yml up -d

通过 Helm 安装 APISIX,请执行以下命令:

  1. helm repo add apisix https://charts.apiseven.com
  2. helm repo update
  3. helm install apisix apisix/apisix --create-namespace --namespace apisix

你可以从 apisix-helm-chart 仓库找到其他组件。

该安装方法适用于 CentOS 7 和 CentOS 8。如果你选择该方法安装 APISIX,需要先安装 etcd。具体安装方法请参考安装 etcd

通过 RPM 仓库安装

如果当前系统没有安装 OpenResty,请使用以下命令来安装 OpenResty 和 APISIX 仓库:

  1. sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm

如果已安装 OpenResty 的官方 RPM 仓库,请使用以下命令安装 APISIX 的 RPM 仓库:

  1. sudo yum-config-manager --add-repo https://repos.apiseven.com/packages/centos/apache-apisix.repo

完成上述操作后使用以下命令安装 APISIX:

  1. sudo yum install apisix
APISIX 安装指南 - 图1tip

你也可以安装指定版本的 APISIX(本示例为 APISIX v2.13.1 LTS 版本):

  1. sudo yum install apisix-2.13.1

通过 DEB 仓库安装

目前 APISIX 支持的 DEB 仓库仅支持 Debian 11(Bullseye),并且支持 amd64 和 arm64 架构。

  1. # amd64
  2. sudo echo "deb http://openresty.org/package/debian bullseye openresty" | tee /etc/apt/sources.list.d/openresty.list
  3. wget -O - http://repos.apiseven.com/pubkey.gpg | apt-key add -
  4. echo "deb http://repos.apiseven.com/packages/debian bullseye main" | tee /etc/apt/sources.list.d/apisix.list
  5. # arm64
  6. sudo echo "deb http://openresty.org/package/debian bullseye openresty" | tee /etc/apt/sources.list.d/openresty.list
  7. wget -O - http://repos.apiseven.com/pubkey.gpg | apt-key add -
  8. echo "deb http://repos.apiseven.com/packages/arm64/debian bullseye main" | tee /etc/apt/sources.list.d/apisix.list

完成上述操作后使用以下命令安装 APISIX:

  1. sudo apt update
  2. sudo apt install -y apisix=3.0.0-0

通过 RPM 包离线安装:

将 APISIX 离线 RPM 包下载到 apisix 文件夹:

  1. sudo mkdir -p apisix
  2. sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm
  3. sudo yum clean all && yum makecache
  4. sudo yum install -y --downloadonly --downloaddir=./apisix apisix

然后将 apisix 文件夹复制到目标主机并运行以下命令:

  1. sudo yum install ./apisix/*.rpm

管理 APISIX 服务

APISIX 安装完成后,你可以运行以下命令初始化 NGINX 配置文件和 etcd:

  1. apisix init

使用以下命令启动 APISIX:

  1. apisix start
APISIX 安装指南 - 图2tip

你可以运行 apisix help 命令,通过查看返回结果,获取其他操作的命令及描述。

如果你想要使用源码构建 APISIX,请参考源码安装 APISIX

安装 etcd

APISIX 使用 etcd 作为配置中心进行保存和同步配置。在安装 APISIX 之前,需要在你的主机上安装 etcd。

如果你在安装 APISIX 时选择了 Docker 或 Helm 安装,那么 etcd 将会自动安装;如果你选择其他方法或者需要手动安装 APISIX,请参考以下步骤安装 etcd:

  • Linux
  • macOS
  1. ETCD_VERSION='3.5.4'
  2. wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz
  3. tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && \
  4. cd etcd-v${ETCD_VERSION}-linux-amd64 && \
  5. sudo cp -a etcd etcdctl /usr/bin/
  6. nohup etcd >/tmp/etcd.log 2>&1 &
  1. brew install etcd
  2. brew services start etcd

后续操作

配置 APISIX

通过修改本地 ./conf/config.yaml 文件,或者在启动 APISIX 时使用 -c--config 添加文件路径参数 apisix start -c <path string>,完成对 APISIX 服务本身的基本配置。

比如将 APISIX 默认监听端口修改为 8000,其他配置保持默认,在 ./conf/config.yaml 中只需这样配置:

“./conf/config.yaml”

  1. apisix:
  2. node_listen: 8000 # APISIX listening port

比如指定 APISIX 默认监听端口为 8000,并且设置 etcd 地址为 http://foo:2379,其他配置保持默认。在 ./conf/config.yaml 中只需这样配置:

“./conf/config.yaml”

  1. apisix:
  2. node_listen: 8000 # APISIX listening port
  3. deployment:
  4. role: traditional
  5. role_traditional:
  6. config_provider: etcd
  7. etcd:
  8. host:
  9. - "http://foo:2379"
APISIX 安装指南 - 图3warning

APISIX 的默认配置可以在 ./conf/config-default.yaml 文件中看到,该文件与 APISIX 源码强绑定,请不要手动修改 ./conf/config-default.yaml 文件。如果需要自定义任何配置,都应在 ./conf/config.yaml 文件中完成。

APISIX 安装指南 - 图4warning

请不要手动修改 APISIX 安装目录下的 ./conf/nginx.conf 文件。当 APISIX 启动时,会根据 config.yaml 的配置自动生成新的 nginx.conf 并自动启动服务。

更新 Admin API key

建议修改 Admin API 的 key,保护 APISIX 的安全。

请参考如下信息更新配置文件:

./conf/config.yaml

  1. deployment:
  2. admin:
  3. admin_key
  4. -
  5. name: "admin"
  6. key: newsupersecurekey # 请修改 key 的值
  7. role: admin

更新完成后,你可以使用新的 key 访问 Admin API:

  1. curl http://127.0.0.1:9180/apisix/admin/routes?api_key=newsupersecurekey -i

为 APISIX 添加 systemd 配置文件

如果你是通过 RPM 包安装 APISIX,配置文件已经自动安装,你可以直接使用以下命令:

  1. systemctl start apisix
  2. systemctl stop apisix

如果你是通过其他方法安装的 APISIX,可以参考配置文件模板进行修改,并将其添加在 /usr/lib/systemd/system/apisix.service 路径下。

如需了解 APISIX 后续使用,请参考入门指南获取更多信息。