语法: ok,err = ngx.timer.at(delay,callback,user_arg1,user_arg2 ...) 上下文: init_worker_by_lua *,set_by_lua *,rewrite_by_lua *,access_by_lua *,content_by_l
原创
2021-06-05 10:14:28
676阅读
语法: ok,err = ngx.timer.at(delay,callback,user_arg1,user_arg2 ...)上下文: init_worker_by_lua *,set_by_lua *,rewrite_by_lua *,access_by_lua *,content_by_lua *,header_filter_by_lua *,body_filter_by_lu...
原创
2023-02-21 09:27:31
645阅读
https://github.com/openresty/lua-nginx-module#ngxexec 参照:http://blog.csdn.net/weiyuefei/article/details/38434797 在Nginx中实现重定向可以通过rewrite指令,具体可参考《Nginx
原创
2021-06-05 10:14:24
1000阅读
34797在Nginx中实现重定向可以通过rewrite指令,具体可参考《Nginx学习——http_rewrite_module的rewrite指令》通过Lua模块也可以...
原创
2023-02-23 10:41:33
1398阅读
参考:https://moonbingbing.gitbooks.io/openresty-best-practices/content/ngx_lua/whats_cosocket.html 春哥演讲:http://agentzh.org/misc/slides/libdrizzle-lua-ng
原创
2021-06-05 10:14:26
501阅读
ngx.thread.spawn、ngx.thread.wait、ngx.thread.kill 介绍ngx_lua中访问多个第三方服务ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。location / { content_by_lua_block {
转载
2022-11-04 10:08:08
217阅读
摘要:通过lua-nginx-module中的ngx.thread同时执行多个任务。ngx_lua中访问多个第三方服务ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。location / { content_by_lua_block ...
原创
2023-02-21 09:21:30
822阅读
1、先来个官方的ngx.re.match 分享:以上可以匹配nginx的uri里面的变量很方便。 2、ngx.re.match 指令 语法: captures,err = ngx.re.match(subject,regex,options?ctx?res_table?) 上下文: init_wor
原创
2021-06-05 10:14:27
857阅读
1、先来个官方的ngx.re.matchlocation /ngx_re_match { default_type text/html; content_by_lua_block { 3u8", "[0-9]+") if m then ...
原创
2023-02-21 09:26:39
981阅读
通过lua-nginx-module中的ngx.thread同时执行多个任务。 ngx_lua中访问多个第三方服务 ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发
原创
2021-06-05 10:14:21
729阅读
ngx_lua 模块(原理实现) 1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM; 2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问; 3、每个外部请求都由一个Lua协程处理,协程之间数据隔离; 4、Lua代码调用I/O操作等异步接口
原创
2021-06-05 10:14:23
343阅读
ngx_lua 模块(原理实现) 1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM; 2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问; 3、每个外部请求都由一个Lua协程处理,协程之间数据隔离; 4、Lua代码调用I/O操作等异步接口
原创
2021-08-02 10:35:24
128阅读
ngx_lua 模块(原理实现) 1、每个worker(工作
原创
2023-02-21 10:01:42
105阅读
ngx_lua模块的原理:1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM;2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问;3、每个外部请求都由一个Lua协程处理,协程之间数据隔离;4、Lua代码调用I/O操作等异步接口时,会挂起当前协程(并保护上下文数据),而不阻塞worker;5、I/O等异步操作完成时还原相关协程上
1. wl: 白名单意义:让 naxsi 忽略 指定内容中指定模式的 请求,以避免误杀 白名单指令是 loc | main level 示例: BasicRule wl:1013 "mz:$ARGS_VAR:term|$URL:/search"; 1.2 语法 1.3 屏蔽ID wl:0 屏蔽所有规 ...
转载
2021-08-19 15:05:00
507阅读
0、手册应该是学习语言的最好的文档,一边看文档,一边想把它记录下来,lua 5.2 英文手册地址:http://www.lua.org/manual/5.2/manual.html在lua中,任何值都可以拥有元表(metatable)。元表本质是就是lua中table,但同时通过元表可以自定义在某些值上的操作。通过设置元表中特定的域(fields)值,可以改变某些值的操作行为。比如,当非数值类型的
3.7 发送响应请求处理完毕后,需要向用户发送HTTP响应,告知客户端Nginx的执行结果。HTTP响应主要包括响应行、响应头部、包体三部分。发送HTTP响应时需要执行发送HTTP头部(发送HTTP头部时也会发送响应行)和发送HTTP包体两步操作。本节将以发送经典的“Hello World”为例来说明如何发送响应。3.7.1 发送HTTP头部下面看一下HTTP框架提供的发送HTTP头部的方法,如下
转载
2024-03-27 09:12:21
73阅读
下载连接:nginx:http://nginx.org/en/download.html
http://nginx.org/download/
lua-nginx模块安装文件:https://github.com/openresty/lua-nginx-module/tags
lua-zlib模块安装文件: https://github.com/brimwor