title: APISIX 安装指南 keywords:
import Tabs from ‘@theme/Tabs’; import TabItem from ‘@theme/TabItem’;
本文将介绍如何在你的环境中安装并运行 APISIX。
关于如何快速运行 Apache APISIX,请参考入门指南。
你可以选择以下任意一种方式安装 APISIX:
<Tabs groupId=“install-method” defaultValue=“docker” values={[ {label: ‘Docker’, value: ‘docker’}, {label: ‘Helm’, value: ‘helm’}, {label: ‘RPM’, value: ‘rpm’}, {label: ‘DEB’, value: ‘deb’}, {label: ‘Source Code’, value: ‘source code’}, ]}>
使用此方法安装 APISIX,你需要安装 Docker 和 Docker Compose。
首先下载 apisix-docker 仓库。
git clone https://github.com/apache/apisix-docker.git cd apisix-docker/example
然后,使用 docker-compose
启用 APISIX。
<Tabs groupId=“cpu-arch” defaultValue=“x86” values={[ {label: ‘x86’, value: ‘x86’}, {label: ‘ARM/M1’, value: ‘arm’}, ]}>
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。
如果当前系统没有安装 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
:::
将 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 安装完成后,你可以运行以下命令初始化 NGINX 配置文件和 etcd:
apisix init
使用以下命令启动 APISIX:
apisix start
:::tip
你可以运行 apisix help
命令,通过查看返回结果,获取其他操作的命令及描述。
:::
目前 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 安装完成后,你可以运行以下命令初始化 NGINX 配置文件和 etcd:
sudo apisix init
使用以下命令启动 APISIX:
sudo apisix start
:::tip
你可以运行 apisix help
命令,通过查看返回结果,获取其他操作的命令及描述。
:::
如果你想要使用源码构建 APISIX,请参考 源码安装 APISIX。
APISIX 使用 etcd 作为配置中心进行保存和同步配置。在安装 APISIX 之前,需要在你的主机上安装 etcd。
如果你在安装 APISIX 时选择了 Docker 或 Helm 安装,那么 etcd 将会自动安装;如果你选择其他方法或者需要手动安装 APISIX,请参考以下步骤安装 etcd:
<Tabs groupId=“os” defaultValue=“linux” values={[ {label: ‘Linux’, value: ‘linux’}, {label: ‘macOS’, value: ‘mac’}, ]}>
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
通过修改本地 ./conf/config.yaml
文件,或者在启动 APISIX 时使用 -c
或 --config
添加文件路径参数 apisix start -c <path string>
,完成对 APISIX 服务本身的基本配置。
比如将 APISIX 默认监听端口修改为 8000,其他配置保持默认,在 ./conf/config.yaml
中只需这样配置:
apisix: node_listen: 8000 # APISIX listening port
比如指定 APISIX 默认监听端口为 8000,并且设置 etcd 地址为 http://foo:2379
,其他配置保持默认。在 ./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,保护 APISIX 的安全。
请参考如下信息更新配置文件:
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
如果你是通过 RPM 包安装 APISIX,配置文件已经自动安装,你可以直接使用以下命令:
systemctl start apisix
systemctl stop apisix
如果你是通过其他方法安装的 APISIX,可以参考配置文件模板进行修改,并将其添加在 /usr/lib/systemd/system/apisix.service
路径下。
如需了解 APISIX 后续使用,请参考入门指南获取更多信息。