Apache APISIX学习(1):介绍、docker启动

一、介绍

Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。你可以把 Apache APISIX 当做流量入口,来处理所有的业务数据,包括动态路由、动态上游、动态证书、 A/B 测试、金丝雀发布(灰度发布)、蓝绿部署、限流限速、抵御恶意攻击、监控报警、服务可观测性、服务治理等。

Apache APISIX 的技术架构如下图所示:

二、下载镜像

使用docker pull apache/apisix:2.10.0-alpine命令下载apisix镜像。

使用docker pull apache/apisix-dashboard:2.9.0获取apisix-dashboard镜像。

三、启动apisix

1、启动etcd

因为apisix依赖etcd,所以要先保证etcd启动。etcd安装步骤请移步ETCD学习使用-CSDN博客这篇文章。使用命令ps -ef | grep etcd查看是否已经启动。

2、创建配置文件

在宿主机本地创建apisix的配置文件config.yaml。下面的key修改为自己的,这个key是调用apisix的admin相关API需要传的,如果不改会有一个默认的在源码里写死的,如果你部署在公网上会导致被别人攻击,因为知道这个key就可以随意调用你的API操作apisix。

内容如下:

bash 复制代码
apisix:
  admin_key:
    -
      name: admin
      # 使用固定API令牌存在安全风险,请在部署到生产环境时进行更新      
      key: zZ2Trn0WFjk3k34hjsdaReplrVUekVz  
      role: admin
etcd:
  host:  
    # 可以为同一个etcd集群定义多个etcd主机地址。
    # 如果您的etcd集群启用TLS,请使用https方案。
    # 例如 https://127.0.0.1:2379.
    - "http://192.168.197.131:2379" 
                                 
  prefix: /apisix  # Apisix配置前缀
  timeout: 300

3、启动apisix

执行如下命令,启动容器:

bash 复制代码
docker run -d -p 9080:9080 -v /usr/local/apisix/conf/config.yaml:/usr/local/apisix/conf/config.yaml apache/apisix:2.10.0-alpine

用浏览器访问http://服务器ip:9080/显示如下内容,表示启动成功。

4、启动apisix-dashboard

在指定目录下创建配置文件conf.yaml

内容如下:

bash 复制代码
conf:
  listen:
    host: 0.0.0.0         # Manager API应该监听的地址。
                          # 默认值为0.0.0.0,如果需要指定,请启用。
                          # 该值接受IPv4、IPv6和主机名
    port: 9000            # '管理器API '应该监听的端口。

  allow_list:             # 如果我们不设置任何IP列表,则默认情况下允许任何IP访问。
  etcd:
    endpoints:            # 支持为etcd定义多个etcd主机地址

cluster
      - 192.168.197.131:2379
    # username: "root"  #如果没开启授权,可以注掉
    # password: "123456" #如果没开启授权,可以注掉
authentication:
  secret:
    zQ5w5jkLDh3jZpywJ3sskrw6Yv633ruq
  expire_time: 3600     # JWT令牌过期时间,单位为秒
  users:                # Yamllint启用规则:comments-缩进
    - username: admin
      password: password
    - username: user
      password: password

使用如下命令启动,我这里9000端口被占用了,所以转成了9111端口。

bash 复制代码
docker run -d -p 9111:9000 -v /usr/local/apisix-dashboard/conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml apache/apisix-dashboard:2.9.0

在浏览器输入服务器ip:9111进入登录界面:

使用配置文件中admin/password即可登录成功。

相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码5 天前
嵌入式学习路线
学习
毛小茛5 天前
计算机系统概论——校验码
学习
babe小鑫5 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms5 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下5 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。5 天前
2026.2.25监控学习
学习
im_AMBER5 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J5 天前
从“Hello World“ 开始 C++
c语言·c++·学习