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。

        内容如下: 

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430039.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

两台虚拟机之分布式部署

Apache2 和 PHP 安装 在虚拟机1上执行以下步骤: 更新系统包列表: sudo apt update安装 Apache2: sudo apt install apache2 -y安装 PHP 及其扩展: sudo apt install php libapache2-mod-php php-mysql配置Apache和PHP sudo nano /etc/apache2/mods-enabled/dir.conf#…

使用 Internet 共享 (ICS) 方式分配ip

设备A使用dhcp的情况下,通过设备B分配ip并共享网络的方法。 启用网络共享(ICS)并配置 NAT Windows 自带的 Internet Connection Sharing (ICS) 功能可以简化 NAT 设置,允许共享一个网络连接给其他设备。 打开网络设置&#xff1…

ComfyUI - 使用 ComfyUI 部署与测试 FLUX.1 图像生成模型 教程

前言 FLUX.1 是由 Black Forest Labs 推出的文本到图像生成模型,已成为 AI 绘画领域的高品质模型。该模型由 Stability AI 的前核心成员开发,具备强大的生成能力和高质量的图像输出。目前,Flux 的相关模型: Flux & AE 模型&…

【图虫创意-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

详解Vite创建Vue3项目router-less-scss-pinia-持久化

前言 Vite 和 Webpack 都是现代化的前端构建工具,它们可以帮助开发者优化前端项目的构建和性能。虽然它们的目标是相似的,但它们在设计和实现方面有许多不同之处。webpack可以看我的上一篇文章 一、准备工作安装工具 这里我们简单介绍一下文章中使用到…

2024年双十一有什么好物值得买呢?双十一必买好物清单

双十一买什么犒劳自己既不会浪费钱又可以增添生活的幸福感?以下就整理了五款更适合与秋冬独自生活相伴的好物,精致增加生活氛围感,热爱生活的同时更好的爱自己!努力工作和生活当然也要更好的享受生活,给生活创造更多美…

智慧医院人工智能应用场景 | 智能导诊系统源码

近年来,智能医疗在国内外的发展热度不断提升。图像识别、深度学习、神经网络、大模型、语音等关键技术的突破带来了人工智能技术新一轮的发展。 场景一:智能机器人 医疗机器人是指能够在医疗领域执行特定任务或功能的机器人,包括手术机器人、…

老板和员工必看:公司电脑监控都监控什么?(这篇文章告诉你!)

随着企业对内部信息安全的要求日益严格,公司对员工电脑的监控已成为管理中的一个常见举措。 通过合理的电脑监控手段,企业可以有效防范数据泄露、提高工作效率,并确保员工在工作时间内遵守公司政策。 那么,公司电脑监控究竟都监控…

算法打卡:第十一章 图论part01

今日收获:图论理论基础,深搜理论基础,所有可达路径,广搜理论基础(理论来自代码随想录) 1. 图论理论基础 (1)邻接矩阵 邻接矩阵存储图,x和y轴的坐标表示节点的个数 优点…

Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】

Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】 目录 Unity 设计模式 之 【什么是设计模式】/ 【为什么要使用设计模式】/ 【架构和设计模式的区别】 一、简单介绍 二、 Unity 设计模式 1、Unity 开发中使用设计模式的特点 2…

如何使用 Rust 框架进行 RESTful API 的开发?

一、RESTful API 的开发 使用 Rust 框架进行 RESTful API 开发,你可以选择多种流行的 Rust Web 框架,如 Actix-web、Rocket、Warp 和 Tide 等。以下是使用这些框架进行 RESTful API 开发的基本步骤和概念: 选择框架:根据项…

Ultimate Screenshot Tool

终极截图工具是资产商店中最好的截图工具! 易于使用,在任何地方都有最多的功能和自定义选项,在所有平台和管道上的游戏和编辑器中轻松捕获、编辑和共享高清屏幕截图。 WebGL演示-文档-Gif组合 轻松截图: -在编辑器和游戏中轻松截取高清屏幕截图! -预览您的所有设备,在所有…

核心复现—计及需求响应的区域综合能源系统双层优化调度策略

目录 一、主要内容: 二、摘要介绍: 三、综合能源系统结构: 四、实际仿真运行结果: 五、代码数据下载: 一、主要内容: 在模型构建部分:建立了一个综合能源系统双层优化调度模型,…

8. 防火墙

8. 防火墙 (1) 防火墙的类型和结构 防火墙的类型和结构可以根据其在网络协议栈中的过滤层次和实现方式进行分类。常见的防火墙类型包括: 包过滤防火墙:工作在网络层(OSI模型的第3层),主要检查IP包头的信息,如源地址、目的地址、端口号等。电路级网关防火墙:工作在会话层…

Rust GUI框架 tauri V2 项目创建

文章目录 Tauri 2.0创建应用文档移动应用开发 Android 前置要求移动应用开发 iOS 前置要求参考资料 Tauri 2.0 Tauri 是一个构建适用于所有主流桌面和移动平台的轻快二进制文件的框架。开发者们可以集成任何用于创建用户界面的可以被编译成 HTML、JavaScript 和 CSS 的前端框架…

2024年9月22日---关于MyBatis框架(1)

一 Mybatis概述 1.1 简介 MyBatis(官网:mybatis – MyBatis 3 | 简介 )是一款优秀的开源的 持久层 框架,用于简化JDBC的开发。是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code&#xff0c…

教你一招:在微信小程序中为用户上传的图片添加时间水印

在微信小程序开发过程中,我们常常需要在图片上添加水印,以保护版权或增加个性化元素。本文将为大家介绍如何在微信小程序中为图片添加时间水印,让你的小程序更具特色。 实现步骤: 1. 创建页面结构 在pages目录下创建一个名为upl…

防火墙详解(一) 网络防火墙简介

原文链接:https://blog.csdn.net/qq_46254436/article/details/105519624 文章目录 定义 与路由器和交换机的区别 发展历史 防火墙安全区域 定义 防火墙主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为 “防火墙”一词起源于建筑领域&…

苍穹外卖学习日志 -----20天项目从零到完结-----含软件下载,环境配置,框架学习,代码编写,报错处理,测试联调,每日总结,心路历程等等......

年份 2024 基础:Javase Javaweb 已完结 2024 8.25---9.14 20天 Day-01 8.25 今天开始学习已经晚了,网盘下载了一下文件,做了一些开始项目的准备工作。 本来其实打算用notepad来写学习日志的,但是那个传…

FreeRTOS学习——链表list

FreeRTOS学习——链表(列表)list,仅用于记录自己阅读与学习源码 FreeRTOS Kernel V10.5.1 参考大佬的好文章: freertos内核原理 Day1(链表) FreeRTOS-链表的源码解析 *list_t只能存储指向list_item_t的指针。每个list_item_t都…