Apache APISIX 是一个动态、实时、高性能的云原生 API 网关,提供了负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。apisix构建于nginx+ngx_lua的技术基础之上,充分利用了LuaJIT所提供的强大性能。
APISIX部署
APISIX安装
apisix支持多种安装方式,包括源码编译安装,rpm包,docker安装,helm包安装。本文采用rpm包的安装方式
安装环境: centos7 需要提前安装依赖库:curl wget git gcc openresty-openssl111-devel unzip pcre pcre-devel openldap-devel openresty
# 安装依赖库
yum install pcre pcre-devel openresty openresty-openssl111-devel openladp-devel
# 安装rpm仓库
yum-config-manager --add-repo https://repos.apiseven.com/packages/centos/apache-apisix.repo
# 安装openresty
yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm
# 安装apisix
yum install apisix-base-1.21.4.1.8-0.el7.x86_64 apisix-3.3.0-0.el7.x86_64
安装并启动etcd
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 &
APISIX配置
apisix的配置文件默认安装目录是/usr/local/apisix/conf; 本文仅展示相对比较重要的几个配置:
注意:不要手动修改 APISIX 安装目录下的 nginx.conf 文件。当 APISIX 启动时,程序会根据config.yaml的配置自动生成新的nginx.conf 并自动启动服务。
APISIX启动
修改完配置之后,可以启动apisix: systemctl start apisix
9080端口是apisix的监听端口, 9180是apisix admin的监听端口;9443是apisix的https监听端口,9060是控制监听端口;
访问admin验证apisix服务:
APISIX Dashboard部署
需要提前部署go语言环境,nodejs环境和yarn环境
# go环境
go env -w GOPROXY=https://goproxy.cn,direct
yum install go
# 安装apisix-dashboard
yum install -y https://github.com/apache/apisix-dashboard/releases/download/v3.0.1/apisix-dashboard-3.0.1-0.el7.x86_64.rpm
配置etcd以及访问的用户名密码
服务启动:
# dashboard 前端
sudo manager-api -p /usr/local/apisix/dashboard/
# dashboard 前端的后端服务
systemctl start apisix-dashboard
示例:
下面我们就可以开始设置路由,上游,服务,消费者,证书等开启api管理之路了~