九、控制响应头HTTP响应头需要配置很多重要的信息,例如添加CDN缓存时间、操作set-cookie、标记业务数据类型等。利用Lua的API可以轻松完成这些配置,并且它有丰富的模块可供选择。9.1 获取响应头ngx.resp.get_headers语法:headers=ngx.resp.get_headers(max_headers?,raw?)配置环境:set_by_lua,rewrite_by
分类:
其他好文 时间:
2018-12-17 14:49:06
阅读次数:
531
本章将会讲解基于LuaJIT的Lua-Nginx-Module,它作为Nginx的第三方开源软件,拥有十分丰富的功能,可以轻松完成高并发的业务需求。注意:本书使用的Lua-Nginx-Module版本是0.10.13。NginxAPIforLua将被简称为LuaAPI,而Lua-Nginx-Module则被简称为Ngx_lua。后面章节中涉及到的LuaAPI大部分是包含参数的,如果参数以?结尾,代
分类:
其他好文 时间:
2018-12-17 14:29:02
阅读次数:
245
最近生产环境在这两个参数之间遇到过几次坑。这里记录下。client_max_body_sizeclient_max_body_size 默认 1M,表示 客户端请求服务器最大允许大小,在“Content-Length”请求头中指定。如果请求的正文数据大于client_max_body_size,HT ...
分类:
其他好文 时间:
2018-12-17 02:47:30
阅读次数:
454
例子工程在此下载 Windows 下 Node.js 入门 NodeJS的历史就不说了,别人说过了。最最关键Google JavaScript V8 开发成功,运行效率很高,开放二次开发接口(C++库,功能类似常见的Lua,Python等脚本的的开放库)。本来V8主要给Chrome浏览器服务的,经不 ...
Lua自带的模块并不多,好处就是Lua足够的小,毕竟它的设计目标是定位成一个嵌入式的轻量级语言的. 相关的函数index2adr 一个Lua函数栈由两个指针base和top来指定,base指向函数栈底,top则指向栈顶. 回到index2addr函数中,几种情况: 1. 如果索引为正,则从函数栈底为 ...
分类:
其他好文 时间:
2018-12-15 19:45:09
阅读次数:
679
协程是个很好的东西,它能做的事情与线程相似,区别在于:协程是使用者可控的,有API给使用者来暂停和继续执行,而线程由操作系统内核控制;另外,协程也更加轻量级。这样,在遇到某些可能阻塞的操作时,可以使用暂停协程让出CPU;而当条件满足时,可以继续执行这个协程。目前在网络服务器领域,使用Lua协程最好的 ...
分类:
其他好文 时间:
2018-12-15 19:44:00
阅读次数:
147
既然Lua虚拟机模拟的是CPU的运作,那么Lua栈模拟的就是内存的角色.在Lua内部,参数的传递是通过Lua栈,同时Lua与C等外部进行交互的时候也是使用的栈.,先关注的是Lua栈的分配,管理和相关的数据结构. lua虚拟机在初始化创建lua_State结构体时,会走到stack_init函数中,这 ...
分类:
其他好文 时间:
2018-12-15 15:56:54
阅读次数:
396
local prog = cc.GLProgram:create("res/shader/light2d.vsh","res/shader/light2d.fsh") prog:link() prog:updateUniforms() local progStat= cc.GLProgramStat... ...
分类:
其他好文 时间:
2018-12-15 15:54:08
阅读次数:
451
FuncState proto结构数组保存函数原型信息;prev保存父函数体指针;actvar保存定义的局部变量;upvalues保存upvalue Lua源码中,专门有一个结构体FuncState用来保存函数相关的信息.其实,即使没有创建任何函数,对于Lua而言也有一个最外层的FuncState数 ...
分类:
其他好文 时间:
2018-12-15 14:55:24
阅读次数:
291
何为虚拟机 用于模拟计算机运行的程序.是个中间层,它处于脚本语言和硬件之间的一个程序.每一门脚本语言都会有自己定义的opcode(”操作码”),可以理解为这门程序自己定义的”汇编语言”.一般的编译型语言,比如C等,经过编译器编译之后生成的都是与当前硬件环境相匹配的汇编代码;而脚本型的语言,经过前端的 ...
分类:
其他好文 时间:
2018-12-15 14:28:36
阅读次数:
399