nginx指令
ngx.say 打印
ngx.req.get_uri_args() 获取get请求的参数(表)
ngx.req.post_uri_args() 获取post请求的参数(表)
require("resty.mysql") 引用resty.mysql模块
ngx.quote_sql_str() 写SQL时,给字段赋值变量的时候将变量放入括号
----------------------------------------cjson函数----------------------------------------
cjson.encode(obj) table转为json格式
cjson.decode(obj) json转为table格式
----------------------------------------nginx特性----------------------------------------
特性1:
Nginx 变量一旦创建,其变量名的可见范围就是整个 Nginx 配置,甚至可以跨越不同虚拟主机的 server 配置块。
特性2:
Nginx 变量名的可见范围虽然是整个配置,但每个请求都有所有变量的独立副本,或者说都有各变量用来存放值的容器的独立副本,彼此互不干扰。
对于 Nginx 新手来说,最常见的错误之一,就是将 Nginx 变量理解成某种在请求之间全局共享的东西,或者说“全局变量”。而事实上,Nginx 变量的生命期是不可能跨越请求边界的。
关于 Nginx 变量的另一个常见误区是认为变量容器的生命期,是与 location 配置块绑定的。
----------------------------------------nginx模块----------------------------------------
标准 ngx_rewrite 模块的 set 配置指令对变量 $a 进行了赋值操作。
set 指令(以及前面提到的 geo 指令)不仅有赋值的功能,它还有创建 Nginx 变量的副作用
第三方 ngx_echo 模块的 echo 配置指令将 $foo 变量的值作为当前请求的响应体输出。
标准模块 ngx_geo 提供的配置指令 geo 来为变量 $dollar 赋予字符串 "$"
使用第三方模块 ngx_echo 提供的 echo_exec 配置指令,发起到 location /bar 的“内部跳转”
标准 ngx_rewrite 模块的 rewrite 配置指令其实也可以发起“内部跳转”
ngx_http_core 模块提供的内建变量 $uri(即“预定义变量”),可以用来获取当前请求的 URI(经过解码,并且不含请求参数),而 $request_uri 则用来获取请求最原始的 URI (未经解码,并且包含请求参数)。
如果你想对 URI 参数值中的 %XX 这样的编码序列进行解码,可以使用第三方 ngx_set_misc 模块提供的 set_unescape_uri 配置指令
也有一些内建变量是支持改写的,其中一个例子是 $args. 这个变量在读取时返回当前请求的 URL 参数串(即请求 URL 中问号后面的部分,如果有的话 ),而在赋值时可以直接修改参数串。

浙公网安备 33010602011771号