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

embedded/2024/12/23 4:34:12/

 一、介绍

        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。

        内容如下: 

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

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

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

        内容如下:

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:zQ5w5jkLDh3jZpywJ3sskrw6Yv633ruqexpire_time: 3600     # JWT令牌过期时间,单位为秒users:                # Yamllint启用规则:comments-缩进- username: adminpassword: password- username: userpassword: password

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

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

        也可以使用docker-compose启动,docker-compose.yml配置文件如下: 

version: '3'
services:apisix-dashboard:restart: alwaysimage: apache/apisix-dashboard:2.9.0container_name: apisix-dashboardports:- "9111:9000"volumes:- /usr/local/apisix-dashboard/conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml- /usr/local/apisix-dashboard/logs/:/usr/local/apisix-dashboard/logs

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

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


http://www.ppmy.cn/embedded/118309.html

相关文章

第24届工博会盛大开启,大腾智能携前沿数字化解决方案亮相

2024年9月24日,第24届中国国际工业博览会(ICIF China 2024)(以下简称“工博会”)在上海盛大开幕。本届工博会以“新质领航 数字赋能”为主题,覆盖工业自动化、智能制造等多个领域,汇聚全球制造业的精英与前沿技术&…

仓库场景物品检测分类系统源码分享

仓库场景物品检测分类检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Comp…

【入门01】arcgis api 4.x 创建地图、添加图层、添加指北针、比例尺、图例、卷帘、图层控制控件(附完整源码)

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title></title><link rel"s…

计算机各专业2025毕业设计选题推荐【各专业 | 最新】

计算机各专业2025毕业设计选题推荐 Java、Python、Vue、PHP、小程序、安卓、大数据、爬虫、可视化、机器学习、深度学习 1.Java 基于Java的在线购物系统设计与实现Java开发的图书管理系统基于Spring Boot的社交媒体平台Java实现的移动健康应用在线学习平台的Java后台开发基于…

Linux嵌入式驱动开发指南(速记版)---Linux基础篇

第一章 Ubuntu系统入门 uname -a #查看内核版本 cat etc/issue #查看系统版本 1.1 Linux磁盘管理 1.1.1 Linux磁盘管理基本概念 关键词&#xff1a; Linux 磁盘管理 挂载点 /etc/fstab文件 分区 ls /dev/sd* 联系描述&#xff1a; Linux 磁盘管理体系通过“挂载点”概念替代…

初识前端监控

以下笔记来源&#xff1a;黑马程序员 背景 思考一下&#xff0c;我们的项目代码在上线之后是不是就不用管了呢&#xff1f; 并不是&#xff0c;作为前端开发工程师&#xff0c;我们是直接跟用户打交道的&#xff0c;一个应用的用户留存率跟这个应用的稳定性有很大的关系&…

OceanBase云数据库战略实施两年,受零售、支付、制造行业青睐

2022年OceanBase推出云数据库产品OB Cloud,正式启动云数据库战略。两年来OB Cloud发展情况如何&#xff0c;9月26日&#xff0c;OceanBase公有云事业部总经理尹博学向记者作了介绍。 尹博学表示&#xff0c;OB Cloud推出两年以来&#xff0c;已服务超过700家客户&#xff0c;客…

单ISP与双ISP的区别是什么

单ISP&#xff08;单一互联网服务提供商&#xff09;与双ISP&#xff08;双重互联网服务提供商&#xff09;主要在以下几个方面有区别&#xff1a; 服务冗余&#xff1a; 单ISP&#xff1a;只有一个互联网服务提供商提供的网络连接。如果该ISP发生故障&#xff0c;整个网络连接…