APISIX 安装指南
本文将介绍如何在你的环境中安装并运行 APISIX。
关于如何快速运行 Apache APISIX,请参考入门指南。
安装 APISIX
你可以选择以下任意一种方式安装 APISIX:
- Docker
- Helm
- RPM
- DEB
- Source Code
使用此方法安装 APISIX,你需要安装 Docker 和 Docker Compose。
首先下载 apisix-docker 仓库。
git clone https://github.com/apache/apisix-docker.git
cd apisix-docker/example
然后,使用 docker-compose
启用 APISIX。
- x86
- ARM/M1
docker-compose -p docker-apisix up -d
docker-compose -p docker-apisix -f docker-compose-arm64.yml up -d
通过 Helm 安装 APISIX,请执行以下命令:
helm repo add apisix https://charts.apiseven.com
helm repo update
helm install apisix apisix/apisix --create-namespace --namespace apisix
你可以从 apisix-helm-chart 仓库找到其他组件。
该安装方法适用于 CentOS 7 和 CentOS 8。如果你选择该方法安装 APISIX,需要先安装 etcd。具体安装方法请参考 安装 etcd。
通过 RPM 仓库安装
如果当前系统没有安装 OpenResty,请使用以下命令来安装 OpenResty 和 APISIX 仓库:
sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm
如果已安装 OpenResty 的官方 RPM 仓库,请使用以下命令安装 APISIX 的 RPM 仓库:
sudo yum-config-manager --add-repo https://repos.apiseven.com/packages/centos/apache-apisix.repo
完成上述操作后使用以下命令安装 APISIX:
sudo yum install apisix
tip
你也可以安装指定版本的 APISIX(本示例为 APISIX v2.13.1 LTS 版本):
sudo yum install apisix-2.13.1
通过 RPM 包离线安装:
将 APISIX 离线 RPM 包下载到 apisix
文件夹:
sudo mkdir -p apisix
sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm
sudo yum clean all && yum makecache
sudo yum install -y --downloadonly --downloaddir=./apisix apisix
然后将 apisix
文件夹复制到目标主机并运行以下命令:
sudo yum install ./apisix/*.rpm
管理 APISIX 服务
APISIX 安装完成后,你可以运行以下命令初始化 NGINX 配置文件和 etcd:
apisix init
使用以下命令启动 APISIX:
apisix start
tip
你可以运行 apisix help
命令,通过查看返回结果,获取其他操作的命令及描述。
通过 DEB 仓库安装
目前 APISIX 支持的 DEB 仓库仅支持 Debian 11(Bullseye),并且支持 amd64 和 arm64 架构。
# amd64
echo "deb http://openresty.org/package/debian bullseye openresty" | sudo tee /etc/apt/sources.list.d/openresty.list
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
wget -O - http://repos.apiseven.com/pubkey.gpg | sudo apt-key add -
echo "deb http://repos.apiseven.com/packages/debian bullseye main" | sudo tee /etc/apt/sources.list.d/apisix.list
# arm64
echo "deb http://openresty.org/package/debian bullseye openresty" | sudo tee /etc/apt/sources.list.d/openresty.list
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
wget -O - http://repos.apiseven.com/pubkey.gpg | sudo apt-key add -
echo "deb http://repos.apiseven.com/packages/arm64/debian bullseye main" | sudo tee /etc/apt/sources.list.d/apisix.list
完成上述操作后使用以下命令安装 APISIX:
sudo apt update
sudo apt install -y apisix=3.0.0-0
管理 APISIX 服务
APISIX 安装完成后,你可以运行以下命令初始化 NGINX 配置文件和 etcd:
sudo apisix init
使用以下命令启动 APISIX:
sudo apisix start
tip
你可以运行 apisix help
命令,通过查看返回结果,获取其他操作的命令及描述。
如果你想要使用源码构建 APISIX,请参考 源码安装 APISIX。
安装 etcd
APISIX 使用 etcd 作为配置中心进行保存和同步配置。在安装 APISIX 之前,需要在你的主机上安装 etcd。
如果你在安装 APISIX 时选择了 Docker 或 Helm 安装,那么 etcd 将会自动安装;如果你选择其他方法或者需要手动安装 APISIX,请参考以下步骤安装 etcd:
- Linux
- macOS
ETCD_VERSION='3.5.4'
wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gz
tar -xvf etcd-v${ETCD_VERSION}-linux-amd64.tar.gz && \
cd etcd-v${ETCD_VERSION}-linux-amd64 && \
sudo cp -a etcd etcdctl /usr/bin/
nohup etcd >/tmp/etcd.log 2>&1 &
brew install etcd
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
apisix:
node_listen: 8000 # APISIX listening port
比如指定 APISIX 默认监听端口为 8000,并且设置 etcd 地址为 http://foo:2379
,其他配置保持默认。在 ./conf/config.yaml
中只需这样配置:
./conf/config.yaml
apisix:
node_listen: 8000 # APISIX listening port
deployment:
role: traditional
role_traditional:
config_provider: etcd
etcd:
host:
- "http://foo:2379"
warning
APISIX 的默认配置可以在 ./conf/config-default.yaml
文件中看到,该文件与 APISIX 源码强绑定,请不要手动修改 ./conf/config-default.yaml
文件。如果需要自定义任何配置,都应在 ./conf/config.yaml
文件中完成。
warning
请不要手动修改 APISIX 安装目录下的 ./conf/nginx.conf
文件。当 APISIX 启动时,会根据 config.yaml
的配置自动生成新的 nginx.conf
并自动启动服务。
更新 Admin API key
建议修改 Admin API 的 key,保护 APISIX 的安全。
请参考如下信息更新配置文件:
./conf/config.yaml
deployment:
admin:
admin_key
-
name: "admin"
key: newsupersecurekey # 请修改 key 的值
role: admin
更新完成后,你可以使用新的 key 访问 Admin API:
curl http://127.0.0.1:9180/apisix/admin/routes?api_key=newsupersecurekey -i
为 APISIX 添加 systemd 配置文件
如果你是通过 RPM 包安装 APISIX,配置文件已经自动安装,你可以直接使用以下命令:
systemctl start apisix
systemctl stop apisix
如果你是通过其他方法安装的 APISIX,可以参考配置文件模板进行修改,并将其添加在 /usr/lib/systemd/system/apisix.service
路径下。
如需了解 APISIX 后续使用,请参考入门指南获取更多信息。