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即可登录成功。

相关推荐
科信集团1 小时前
政策科普|广东省绿色制造体系全解读
学习·制造·绿色
迪丽热爱1 小时前
多媒体应用9-823
学习
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(48):Fine-Mem——用细粒度奖励解决长期记忆管理中的奖励稀疏与信用分配
论文阅读·人工智能·学习·开源·github
是隼人2 小时前
buuctf-pwn axb_2019_fmt32题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
txg6662 小时前
Less Is More:如何用半监督学习提升漏洞检测能力
人工智能·深度学习·学习·安全·开源软件
FAREWELL000752 小时前
02-资源包形态-AB与Addressables
学习
小弥儿2 小时前
GitHub今日热榜 | 2026-08-23:终端编码Agent与Skills生态扎堆
学习·开源·github
石头猫灯2 小时前
WordPress wp2shell漏洞断点逐过程到注入点
android·学习
会编程的吕洞宾3 小时前
DeepAgents In Action学习(Third)
python·学习·django
Be for thing3 小时前
【嵌入式成长10】STC89C51蜂鸣器|有源/无源蜂鸣器区分、三极管驱动、定时器播放音乐实战
单片机·嵌入式硬件·学习