Openresty入门实践

Request API

ngx.req.get_method():获取请求类型

ngx.req.get_uri_args():获取url请求参数

ngx.req.get_post_args():获取post请求内容体

ngx.req.get_body_data():获取post请求参数

请求头信息:ngx.req.get_headers()


Response API

输出响应:ngx.say()、ngx.print()


Memory API

分配共享内存:lua_shared_dict shared_data 10m

访问共享内存:ngx.shared.shared_data

读取字典值:ngx.shared.shared_data:get()

设置字典值:ngx.shared.shared_data:set()

删除字典值:ngx.shared.shared_data:delete()


nginx+lua访问控制模块

定义变量

运行Nginx外部的lua脚本:set_by_lua_file

执行lua代码:set_by_lua

使用范围:server、server if、location、location if

阶段:rewrite

设置一个变量,常用与计算一个逻辑,然后返回结果 该阶段不能运行Output API、Control API、Subrequest API、Cosocket API。

Output API: (ngx.say和ngx.send_headers)

Control API: (ngx.exit)

Subrequest API: (ngx.location.capture和ngx.location.capture_multi)

Cosocket API: (ngx.sleep)

这个指令是为了执行短期、快速运行的代码因为运行过程中nginx的事件处理循环是处于阻塞状态的。耗费时间的代码应该被避免。


访问控制:access_by_lua、access_by_lua_file


发送子请求:ngx.location.capture


获请URI:ngx.var.uri

正则:ngx.re.match()

重定向:ngx.redirect()


设置响应类型:ngx.header.content_type

设置响应状态码:ngx.status

输出内容:ngx.say()

退出:ngx.exit()


Nginx相关API

nginx变量:ngx.var

你可能感兴趣的:(Openresty入门实践)