Installation
This guide walks you through how you can install and run Apache APISIX in your environment.
Refer to the Getting Started guide for a quick walk-through on running Apache APISIX.
Installing APISIX#
APISIX can be installed by the different methods listed below:
- Docker
- Helm
- RPM
First clone the apisix-docker repository:
git clone https://github.com/apache/apisix-docker.gitcd apisix-docker/exampleNow, you can use docker-compose to start APISIX.
- x86
- ARM/M1
docker-compose -p docker-apisix up -ddocker-compose -p docker-apisix -f docker-compose-arm64.yml up -dTo install APISIX via Helm, run:
helm repo add apisix https://charts.apiseven.comhelm repo updatehelm install apisix apisix/apisix --create-namespace --namespace apisixYou can find other Helm charts on the apisix-helm-chart repository.
This installation method is suitable for CentOS 7 and Centos 8. If you choose this method to install APISIX, you need to install etcd first. For the specific installation method, please refer to Installing etcd.
Installation via RPM repository#
If OpenResty is not installed, you can run the command below to install both OpenResty and APISIX repositories:
sudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpmIf OpenResty is installed, the command below will install the APISIX repositories:
sudo yum-config-manager --add-repo https://repos.apiseven.com/packages/centos/apache-apisix.repoThen, to install APISIX, run:
sudo yum install apisixtip
You can also install a specific version of APISIX by specifying it:
sudo yum install apisix-2.13.1Installation via RPM offline package#
First, download APISIX RPM offline package to an apisix folder:
sudo mkdir -p apisixsudo yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpmsudo yum clean all && yum makecachesudo yum install -y --downloadonly --downloaddir=./apisix apisixThen copy the apisix folder to the target host and run:
sudo yum install ./apisix/*.rpmManaging APISIX server#
Once APISIX is installed, you can initialize the configuration file and etcd by running:
apisix initTo start APISIX server, run:
apisix starttip
Run apisix help to get a list of all available operations.
Installing etcd#
APISIX uses etcd to save and synchronize configuration. Before installing APISIX, you need to install etcd on your machine.
It would be installed automatically if you choose the Docker or Helm install method while installing APISIX. If you choose a different method or you need to install it manually, follow the steps shown below:
- Linux
- macOS
ETCD_VERSION='3.4.18'wget https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-linux-amd64.tar.gztar -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 etcdbrew services start etcdNext steps#
Updating Admin API key#
It is recommended to modify the Admin API key to ensure security.
You can update your configuration file as shown below:
apisix: admin_key - name: "admin" key: newsupersecurekey role: adminNow, to access the Admin API, you can use the new key:
curl http://127.0.0.1:9080/apisix/admin/routes?api_key=newsupersecurekey -iAdding APISIX systemd unit file#
If you installed APISIX via RPM, the APISIX unit file will already be configured and you can start APISIX by:
systemctl start apisixsystemctl stop apisixIf you installed APISIX through other methods, you can create /usr/lib/systemd/system/apisix.service and add the configuration from the template.
See the Getting Started guide for a quick walk-through of using APISIX.