APISIX-简单使用

APISIX-简单使用

这个工具还是很不错的,可视化的配置很清晰 ,

想用NGINX的配置模式也是可以的,就是要去修改配置文件了。

APISIX,一个很不错的可视化工具,用来代替Nginx相当不错,可作为Nginx的平替方案,其本身也是基于Nginx的,也支持Nginx的配置,所有平替相当的平滑。

文章目录

    • APISIX-简单使用
    • @[toc]
      • Docker基础服务安装
      • 简单使用
        • 路由配置
        • 代理静态文件
        • 前端部署调整
      • 监控【prometheus】
      • 参考资料

Docker基础服务安装

# 去这里面找目录:example/docker-compose.yml  【最后手动下载了】
git clone https://github.com/apache/apisix-docker.git   

# 调整端口映射,apisix-dashboard 和 portainer 都是9000的端口【端口冲突很多】
# docker-compose -p docker-apisix up -d

# ===============================================
# 报错:
# ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-22035dbda81a -j RETURN: iptables: No chain/target/match by that name.
# 解决:
# sudo iptables -t filter -F
# sudo iptables -t filter -X
# sudo systemctl restart docker
# ===============================================
# ****** 调整各种端口的冲突 *****

# 一个个开启
docker-compose -p docker-apisix up -d etcd
docker-compose -p docker-apisix up -d apisix
docker-compose -p docker-apisix up -d apisix-dashboard

http://192.168.137.115:7000/  密码:admin/admin

请添加图片描述

简单使用

路由配置
# 新建路由
1. 路由->新建
2. 匹配条件->路劲:/admin/*    # 表示匹配的路径
3. 请求改写->路径改写->正则改写   # 相当于正则替换
  1. 匹配正则表达式 : ^/admin/
  2. 转发路径模版 :  /epidemic/admin/
4. 下一步->上游配置
5. 上游类型:节点 ,目标节点 :ip+端口
6. 其他看中文解释了
7. 下一步-> 插件【不需要就跳过】 -> 下一步 -> 提交

# 验证 【完成】
【实际请求】:http://192.168.137.115:7080/admin/test/test
【会被转发到】:http://192.168.137.115:8080/epidemic/admin/test/test

其他配置看中文即可,就是插件这个很强大,得看官方文档研究怎么用!!

代理静态文件

这个就前端部署使用的了!!!

# 【1】 /home/apisix/apisix-docker/example/apisix_conf/config.yaml
nginx_config:
    http_configuration_snippet: |
        server
        {
            listen 45651;
            server_name 192.168.137.115;
            #access_log off;
            location / {
                root /usr/local/apisix/data/html;
                try_files $uri $uri/ /index.html;
                index index.html;
            }
        }
        chunked_transfer_encoding on;
        
# 【2】  docker-compose.yml 添加端口映射 
    ports:
      - "45651:45651/tcp"

# 【3】  docker-compose.yml 添加目录映射 
    volumes:
      - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
      - /home/apisix/admin-ui/dist:/usr/local/apisix/data/html

# 【PS】/usr/local/apisix/data/html/dist... 就是前端打包构建的文件了
前端部署调整
# 由于api和前端文件都在一个服务器,并且前端要保证不跨域
# 调整apisix的路由,以便支持
	前端api			/stage-api/*    	指向后台接口服务
	前端静态资源	     	/*      		 指向本地45651静态文件资源

监控【prometheus】

这里的监控,应该是prometheus+ grafana 进行的

# 先开起开看看效果
docker-compose -p docker-apisix up -d prometheus
docker-compose -p docker-apisix up -d grafana

# 两个地址
prometheus:http://192.168.137.115:9090/targets
Grafana: http://192.168.137.115:3000/  
# Grafanna 这个地址可以配置到apisie-dashboard的首页,就可以了 
# 默认Grafana是已经有了apisix的仪表盘视图了,够用 

请添加图片描述

参考资料

  • 官方文档:https://www.bookstack.cn/read/apisix-3.2-zh/3a3ad75e1267bfce.md、
  • Apache APISIX® Dashboard :https://apisix.apache.org/zh/docs/dashboard/USER_GUIDE/
  • https://blog.csdn.net/qq_39245246/article/details/125084747
  • https://blog.csdn.net/CaptainJava/article/details/125510913 使用教程
  • http://www.cbww.cn/news/53009.shtml nginx配置

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【单元测试】如何让单元测试的价值最大化

如何让单元测试的价值最大化 1.背景2.用例设计问题3.边界测试问题4.Mock 测试问题5.与集成测试的分工问题6.单测度量问题7.总结 1.背景 关于 “什么是单元测试”、“为什么要做单元测试”、“怎么做单元测试”,网络上相关的技术文章汗牛充栋。尽管如此,…

大数据之Hive函数大全

🔧 Hive函数大全 更多大数据学习资料请关注公众号“大数据领航员"免费领取 一、数学函数 1、取整函数: round 1.函数描述 返回值语法结构功能描述doubleround(double a)返回double类型的整数值部分(遵循四舍五入) 2.例程 hive>…

DOS学习-目录与文件应用操作经典案例-copy

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 copy命令的功能是复制一个或多个已经存在的文件到新的位置,或者将多个文件的内容整合后保存为一个单独的文件,亦或者用于创建批…

SQL基础交互

第二章 检索数据 例如,我们从数据库表 products 中查询 prod_id 和 vend_id,各个列之间以逗号分隔,最后一列的后面不加逗号。 SELECT prod_id, vend_id FROM products; 我们还可以从数据库表中查询所有列。例如: SELECT prod_id, vend_id, prod_name, …

【openlayers系统学习】00官网的Workshop介绍

00Workshop介绍 官方文档:https://openlayers.org/workshop/en/ openlayers官网Workshop学习。 通过官网Workshop,系统学习openlayers的使用。 基本设置 这些说明假定您从最新Workshop版本的 openlayers-workshop-en.zip​ 文件开始。此外&#xff…

继“三级淋巴结”之后,再看看“单细胞”如何与AI结合【医学AI|顶刊速递|05-25】

小罗碎碎念 24-05-25文献速递 今天想和大家分享的是肿瘤治疗领域的另一个热点——单细胞技术,我们一起来看看,最新出炉的顶刊,是如何把AI与单细胞结合起来的。 另外,今天是周末,所以会有两篇文章——一篇文献速递&…

【LeetCode:2769. 找出最大的可达成数字 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

C++—数组

数组是由一批相同类型的元素&#xff08;element&#xff09;的集合所组成的数据结构&#xff0c;分配一块连续的内存来存储。 语法&#xff1a; <数据类型> <数组名>[<数组长度>]; 数据类型&#xff1a;数组内存放的数据类型&#xff0c;如int、char&…

高仿百度网页(附带源码)

高仿百度网页 效果图部分源码及素材领取源码下期更新预报 效果图 部分源码及素材 <script language"javascript">function show_date_time() {window.setTimeout("show_date_time()", 1000);BirthDay new Date("1/20/2023 16:52:21");//…

Mongodb分布式id

1、分布式id使用场景 分布式ID是指在分布式系统中用于唯一标识每个元素的数字或字符串。在分布式系统中&#xff0c;各个节点或服务可能独立运行在不同的服务器、数据中心或地理位置&#xff0c;因此需要一种机制来确保每个生成的ID都是全局唯一的&#xff0c;以避免ID冲突。 …

FreeRTOS 源码概述

FreeRTOS 目录结构 使用 STM32CubeMX 创建的 FreeRTOS 工程中&#xff0c;FreeRTOS 相关的源码如下: 主要涉及2个目录&#xff1a; Core Inc 目录下的 FreeRTOSConfig.h 是配置文件 Src 目录下的 freertos.c 是 STM32CubeMX 创建的默认任务 Middlewares\Third_Party…

FreeRTOS任务间通信“IPC”

---------------信号量--------------- 信号量的定义&#xff1a; 操作系统中一种解决问题的机制&#xff0c;可以实现 “共享资源的访问” 信号&#xff1a;起通知作用量&#xff1a;还可以用来表示资源的数量当"量"没有限制时&#xff0c;它就是"计数型信…

Java 登录错误次数限制,用户禁登1小时

手机号验证码登录&#xff0c;验证码输入错误次数超5次封禁 Overridepublic boolean checkCaptcha(String phoneNum, String captcha) {String codeNum (String) redisTemplate.opsForValue().get(UserCacheNames.USER_CAPTCHA phoneNum);if (codeNum null) {throw new Wan…

[数据集][目标检测]风力涡轮机缺陷检测数据集VOC+YOLO格式2992张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2992 标注数量(xml文件个数)&#xff1a;2992 标注数量(txt文件个数)&#xff1a;2992 标注…

利用Axure模板快速设计,可视化大屏信息大屏,含近200例资源和各类部件

模板类别&#xff1a; **通用模板&#xff1a;**提供基础的布局和设计元素&#xff0c;适用于各种场景。 **行业特定模板&#xff1a;**如农业、医院、销售、能源、物流、政府机关等&#xff0c;针对不同行业提供专业模板。 **数据展示模板&#xff1a;**包括大数据驾驶舱、统…

【Vue】computed 和 methods 的区别

概述 在使用时&#xff0c;computed 当做属性使用&#xff0c;而 methods 则当做方法调用computed 可以具有 getter 和 setter&#xff0c;因此可以赋值&#xff0c;而 methods 不行computed 无法接收多个参数&#xff0c;而 methods 可以computed 具有缓存&#xff0c;而 met…

makefile 编写规则

1.概念 1.1 什么是makefile Makefile 是一种文本文件&#xff0c;用于描述软件项目的构建规则和依赖关系&#xff0c;通常用于自动化软件构建过程。它包含了一系列规则和指令&#xff0c;告诉构建系统如何编译和链接源代码文件以生成最终的可执行文件、库文件或者其他目标文件…

I.MX6ULL Linux C语言开发环境搭建(点灯实验)

系列文章目录 I.MX6ULL Linux C语言开发 I.MX6ULL Linux C语言开发 系列文章目录一、前言二、硬件原理分析三、构建步骤一、 C语言运行环境构建二、软件编写三、链接脚本 四、实验程序编写五、编译下载验证 一、前言 汇编语言编写 LED 灯实验&#xff0c;但是实际开发过程中汇…

二叉排序树的创建

二叉排序树就是节点经过排序构建起的二叉树&#xff0c;其有以下性质&#xff1a; 1. 若它的左子树不为空&#xff0c;则左子树上所有节点的值均小于它的根节点的值。 2. 若它的右子树不为空&#xff0c;则右子树上所有节点的值均大于它的根节点的值。 3. 它的左、右子树也分…

Golang并发编程-协程goroutine任务取消(Context)

文章目录 前言一、单个任务的取消二、 所有任务取消三、Context的出现Context的定义Context使用 总结 前言 在实际的业务种&#xff0c;我们可能会有这么一种场景&#xff1a;需要我们主动的通知某一个goroutine结束。比如我们开启一个后台goroutine一直做事情&#xff0c;比如…