![](https://img-blog.csdnimg.cn/20210109202902972.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Openresty
文章平均质量分 52
在nginx学习的基础上,以lua为基础,通过openresty来构建WEB Server
视频参考1:https://www.bilibili.com/video/BV1nU4y1x7Lt?from=search&seid=5982687252382378701
wzj_110
天道酬勤
展开
-
API(十一) 获取openresty编译信息
nginx.conf关键配置。config.lua脚本。原创 2023-09-19 20:01:44 · 412 阅读 · 0 评论 -
API(十)时间相关的SDK
【代码】API(十)时间相关的SDK。原创 2023-09-19 13:16:46 · 551 阅读 · 0 评论 -
Openresty(二十二)ngx.balance和balance_by_lua终结篇
【代码】Openresty(二十二)灰度发布(二)终结篇。原创 2023-09-18 20:58:24 · 1100 阅读 · 0 评论 -
Openresty(二十一)ngx.balance和balance_by_lua灰度发布
每个worker有自己单独的VM。openresty实现灰度发布。方案选项 redis +回顾HTTP反向代理流程。原创 2023-09-16 14:17:54 · 872 阅读 · 0 评论 -
API(九)基于协程的并发编程SDK
提供的轻量级协程SDK。原创 2023-09-15 21:49:48 · 455 阅读 · 0 评论 -
API(八)cosocket常用SDK
coscoket常用的。原创 2023-09-15 20:15:57 · 180 阅读 · 0 评论 -
API(七)其它常用的工具类SDK
nginx哪些操作 --> 不会导致init_by_lua* --> master进程的读取等操作。re.find(没有创建新字符串)的性能好于re.match ,防火墙一般会使用re.find。通过这些工具类 --> 做一些编解码之类的操作|正则表达式|记录日志等。(5)hash编码的SDK -->关注sha1和md5即可。--> 子请求和内部跳转不能使用xtx上下文。(6)正则表大式SDK -->开一个专题。信息的SDK --> 很重要的参数。框架是异步非阻塞 --> 深入理解。原创 2023-06-17 11:28:10 · 40 阅读 · 0 评论 -
API(五)获取、修改请求与响应的SDK
相同的功能都能满足该如何取舍 --> 重点关注:nginx原生不支持的或者支持很复杂的,但openresty实现很简单的能力。默认是自动的 --> 我们写的是Content-Length,openresty会将其修改成content_length的。ngx.var.VAR_NAME --> 能出现的位置,处理请求的地方(context) --> 细节点不能创建新变量。1)前提条件 --> lua_need_request_body --> 强制读取request body。原创 2023-06-17 00:36:27 · 148 阅读 · 0 评论 -
API(四)openresty中Lua与C代码交互的原理
ngx.config取得原创 2023-06-15 23:18:08 · 130 阅读 · 0 评论 -
API(二)openresty中常见的nginx模块与lua模块
所有的lua模块基本都依赖于ngx_http_lua_module或ngx_stream_lua_module这两个C模块来实现的,其它的openresty中的nginx C模块都是比较老的模块,不推荐使用了。(3)openresty的nginx模块反向代理模块 --> proxy。(2)openresty的四个核心nginx模块 --> core。本节不讲知识点,知识对openresty模块的能力由一个粗略的认识。(4)openresty C模块的一些工具模块。原创 2023-06-12 23:53:25 · 220 阅读 · 0 评论 -
API(一)基础入门
openresty中SDK大致的分类。openresty使用要点。openresty运行机制。openresty主要组成。官方openresty参考。原创 2023-09-15 11:46:43 · 125 阅读 · 0 评论 -
API(六)工具类型之玩转正则表达式等常用SDK
ngx.re API的来源。原创 2023-09-07 23:01:08 · 349 阅读 · 0 评论 -
API原理概念篇(五)超越 Web 服务器:特权进程和定时任务
非阻塞的 ngx.pipe。原创 2023-07-24 22:53:53 · 116 阅读 · 0 评论 -
API原理概念篇(四)OpenResty 的核心和精髓 cosocket
什么是cosocket。原创 2023-07-17 22:52:27 · 132 阅读 · 0 评论 -
API原理概念篇(三)worker间的通信法宝
Shared Dict分类。原创 2023-07-11 23:21:10 · 66 阅读 · 0 评论 -
API原理概念篇(二)为什么能成为更好的Web服务器
nginx原生代理头补充原创 2023-07-11 21:15:10 · 40 阅读 · 0 评论 -
API原理概念篇(一)OpenResty和别的开发平台有什么不同
【代码】API原理概念篇(一)OpenResty 和别的开发平台有什么不同。原创 2023-07-09 16:26:33 · 84 阅读 · 0 评论 -
Openresty原理概念篇(十五)Lua 规则和 NGINX 配置文件产生冲突怎么办?
OpenResty 的名字和语言。我的代码为什么报错?原创 2023-06-26 21:48:10 · 340 阅读 · 0 评论 -
Openresty原理概念篇(十四)基于FFI实现的lua-resty-lrucache
lua-resty-lrucache两种实现。原创 2023-06-25 23:55:38 · 302 阅读 · 0 评论 -
Openresty原理概念篇(十二) 剖析Lua唯一的数据结构table和metatable特性
剖析Lua唯一的数据结构table和metatable特性原创 2023-06-24 22:05:25 · 146 阅读 · 0 评论 -
Openresty原理概念篇(十一) 为什么要避免使用 NYI?
为什么要避免使用 NYI ?原创 2023-06-24 17:24:22 · 183 阅读 · 0 评论 -
Openresty原理概念篇(十)为什么 lua-resty-core 性能更高一些
Openresty(十)为什么 lua-resty-core 性能更高一些?原创 2023-06-22 15:39:13 · 502 阅读 · 0 评论 -
Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同
标准 Lua 和 LuaJIT 的区别原创 2023-06-22 11:19:48 · 622 阅读 · 0 评论 -
Openresty原理概念篇(八)快速上手Lua
openresty中luajit简介原创 2023-06-22 00:06:20 · 125 阅读 · 0 评论 -
Openresty原理概念篇(七)OpenResty 中用到的 NGINX 知识
master-worker模式。原创 2023-06-27 23:31:26 · 793 阅读 · 0 评论 -
Openresty原理概念篇(六)如何管理第三方包
为什么要寻找第三方库原创 2023-06-18 23:27:02 · 120 阅读 · 0 评论 -
Openresty原理概念篇(五)隐藏在openresty背后的子项目
Openresty目录概览原创 2023-06-18 13:55:24 · 283 阅读 · 0 评论 -
Openresty原理概念篇(四)openresty的安装
openresty安装问题原创 2023-06-18 00:51:09 · 538 阅读 · 0 评论 -
Openresty原理概念篇(三)初探Openresty的三大特性
openresty的发展。原创 2023-06-17 23:14:54 · 230 阅读 · 0 评论 -
Openresty原理概念篇(一)学习资料
openresty学习资料。原创 2023-06-27 21:27:50 · 722 阅读 · 0 评论 -
Openresty原理概念篇(二)打开高性能开发的大门
学习openresty的。学习openresty。原创 2023-06-17 14:05:24 · 96 阅读 · 0 评论 -
API(三)如何在nginx中嵌入lua代码
如何在nginx中嵌入lua代码。lua代码嵌入指令图。原创 2023-06-15 00:28:05 · 479 阅读 · 0 评论 -
Openresty(二十)加载lua文件的一些细节
加载lua模块的一些细节原创 2022-11-09 17:00:50 · 1382 阅读 · 0 评论 -
Openresty(十九)使用upload上传文件
一 upload.lua代码通过lua-resty-upload实现文件上传的例子nginx.confio.open参考1) lualib/resty/upload.lua 源码2) 该模块在解析文件'上传请求'的过程中,主要采用了简单的类似"有限状态机的算法"来实现的3) 在'不同的状态'由相应的 handler 进行处理,支持的状态包括如下4 个handler状态:state_handlers = { read_preamble, r...原创 2021-09-17 18:23:54 · 1632 阅读 · 0 评论 -
Openresty(十八)使用lua-resty-shell 执行shell 脚本
一 模块地址(1)功能1) lua-resty-shell 用于'非阻塞'的执行shell命令的Lua模块2) 通过openresty实现'本地[unix socket]或远程执行'shell'命令'或'脚本'(2)lua-resty-shell的两个版本① openresty官方内置版本第一种'内置'版本需要'openresty版本5.0+'以后才支持② 麻省理工Juce版本第二种Juce版,支持'所有版本'的openresty,但需要...原创 2021-09-16 20:58:56 · 3063 阅读 · 0 评论 -
Openresty(十七)ngx_lua模块执行阶段
一 lua VM二 ngx_lua原理三 lua_ngx的执行顺序官网参考空 --> "lua代码字符串"block --> "{}"file --> "文件名"nginx初始化 --> '接收'请求 --> 认证 --> '处理'请求 --> '日志'处理1) 初始化时:'尚未'接收请求2) 接收请求: 判断'http|https'请求,设置nginx变量,rewrit...原创 2021-09-16 19:44:50 · 393 阅读 · 0 评论 -
Openresty(十六)ngx_lua模块
一 openresty官方ngx_lua文档核心:只介绍'与http相关'的,辅助'场景'理解openresty的cors配置① 获取url的查询字符串ngx.var.VARIABLE1)差异++++++++++++"共同点"++++++++++++ngx.var.arg_xx与ngx.req.get_uri_args["xx"]两者都是为了获取请求uri 中的'查询字符串参数'备注:get_uri_args,'get请求'传递的'查询字符串'+...原创 2021-09-16 18:38:25 · 2814 阅读 · 0 评论 -
Openresty(十五)通过lua实现令牌校验
一 模块地址+++++++++++++"安装方式"+++++++++++++1.opm安装 -->'默认'安装的位置opm get SkyLothar/lua-resty-jwt2.源码安装参考博客网关权限控制二 实现测试思路原创 2021-09-16 13:28:09 · 1211 阅读 · 2 评论 -
Openresty(十四)openresty通过lua操作redis
一 openresty官方自带的redis模块openresty自带lua module的设计思路(1)支持的redis命令其它方面提供的(2)连接相关的① new② set_timeout③ connect④ authnginx+lua+redis实现token验证项目地址⑤ 使用common_cmds中提供的redis指令local redis = require "re...原创 2021-09-12 23:44:04 · 2481 阅读 · 0 评论 -
Openresty(十三)env指令
一 openresty引用系统的环境变量① 应用场景+++++++++++"使用场景"+++++++++++1) 本想在'初始化init阶段'读取配置文件中设置的自定义变量2) 但由于在初始化阶段,配置文件'还没有'加载3) 解决策略:将该变量加入到系统环境变量中,来实现该变量的配置核心: 经常会依据'不同的环境'使用'不同的配置'② env指令Syntax: env variable[=value]; Context: main -->ng...原创 2021-09-12 17:56:22 · 644 阅读 · 0 评论