[code="lua"] local delay=3 local handle handle = function(param1,param2) if param1 then return end ngx.log(ngx.ERR,"param is " ..param2) ngx.timer.at(delay,handle,"he...
lua
原创 2023-04-11 00:21:58
88阅读
语法: 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阅读
3.7 发送响应请求处理完毕后,需要向用户发送HTTP响应,告知客户端Nginx的执行结果。HTTP响应主要包括响应行、响应头部、包体三部分。发送HTTP响应时需要执行发送HTTP头部(发送HTTP头部时也会发送响应行)和发送HTTP包体两步操作。本节将以发送经典的“Hello World”为例来说明如何发送响应。3.7.1 发送HTTP头部下面看一下HTTP框架提供的发送HTTP头部的方法,如下
〇、储备知识之红黑树0.1> 2-3树红黑树是一种自平衡的二叉树,它可以避免二分搜索树在极端的情况下蜕化成链表的情况。那么什么是红黑树呢?要想便于了解红黑树,我们先了解一下跟它息息相关的2-3树。2-3树是一种绝对平衡的多叉树,在这棵树中,任意一个节点,它的左右子树的高度是相同的。如下所示:正如上面介绍过的,2-3树是一个多叉树。那为什么叫做2-3树呢? 因为规则定义,2-3树分为两种节点,
转载 2024-08-16 16:01:15
25阅读
 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等异步操作完成时还原相关协程上
转载 10月前
37阅读
# 如何实现 Java Timer 失效 在 Java 编程中,Timer 是一个用于定时执行任务的类,但在某些情况下,我们可能希望 Timer 失效或者停止执行任务。本文将引导你完成实现“Java Timer 失效”的过程,帮助你理解每一步的必要性。 ## 流程步骤 我们可以将整个过程分为以下几个步骤: | 步骤 | 描述 | | ---- | ----
原创 2024-08-11 06:28:45
57阅读
   Timer是一个经常使用的东西,它有3种类型的Timer。分别是:  1.定义在System.Windows.Forms里;  2.定义在System.Threading.Timer类里;  3.定义在System.Timers.Timer类里;  ◆System.Windows.Forms.Timer  应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或
转载 2023-11-01 21:48:35
103阅读
nginx 内存池 ngx_pool_tnginx 是自己实现了内存池的,所以在nginx ngx_pool_t 这个结构也随处可见,这里主要分析一下内存池的分配逻辑。内存池实现了包括小块内存、大块内存和清理资源几种资源的处理,应该来说覆盖了绝大数的使用场景了。相关结构定义// 大块内存 typedef struct ngx_pool_large_s ngx_pool_large_t; stru
转载 2024-02-12 13:57:19
18阅读
void* ngx_slab_alloc(ngx_slab_pool_t* pool, size_t size) { void* p; // 进程间加锁保护 ngx_shmtx_lock(&pool->mutex); // 申请内存块 p = ngx_slab_alloc_locked(pool, size); // 进程间解锁
转载 2024-05-08 20:21:26
116阅读
摘要:通过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
816阅读
通过lua-nginx-module中的ngx.thread同时执行多个任务。 ngx_lua中访问多个第三方服务 ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发
原创 2021-06-05 10:14:21
729阅读
https://github.com/rryqszq4/ngx_php
转载 2018-01-18 09:22:00
42阅读
2评论
1. 通用规则 查找 字符串 0x, 在 POST/PUT参数,URL任何部分,GET任何参数,或HTTP header 名称为 Cookie的header。如果匹配, $SQL 得分加2,规则可以 使用 id1002 设置白名单 MainRule "str:0x" "msg:0x, possibl ...
转载 2021-08-19 16:24:00
165阅读
1. 编译 cd nginx-$NGINX_VER ./configure --add-dynamic-module=../naxsi-$NAXSI_VER/naxsi_src/ make modules 2. 启动 2.1 加载规则和库 load_module /etc/nginx/modules ...
转载 2021-08-19 11:46:00
260阅读
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
504阅读
0、手册应该是学习语言的最好的文档,一边看文档,一边想把它记录下来,lua 5.2 英文手册地址:http://www.lua.org/manual/5.2/manual.html在lua中,任何值都可以拥有元表(metatable)。元表本质是就是lua中table,但同时通过元表可以自定义在某些值上的操作。通过设置元表中特定的域(fields)值,可以改变某些值的操作行为。比如,当非数值类型的
1. json POST/PUT 请求,若使用 content-type application/json 则会被 naxsi 解析,payload被转换用于 whitelist / signatures writting 处理: 所有目标为 BODY 的规则,会解析 json 使用类似于 $BOD ...
转载 2021-08-19 16:12:00
279阅读
是 Flash Player 计时器的接口。 可以创建新的 Timer 对象,以便按指定的时间顺序运行代码。 使用 start() 方法来启动计时器。 为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。 可以创建 Timer 对象以运行一次或按指定间隔重复运行,从而按计划执行代码。 取决于 SWF 文件的帧频或 Flash Player 的环境(可用内存及其它因素...
原创 2021-07-16 17:40:39
224阅读
 下载连接: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
转载 8月前
83阅读
  • 1
  • 2
  • 3
  • 4
  • 5