NOTE

1.2 OpenResty

OpenResty 安装、Lua 入门与 ngx HTTP API。

Web Server / Nginx创建于 更新于 约 1 分钟读完historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 是什么

用Lua增强的Nginx,可以用Lua访问MySQL、Redis、HTTP等

2. 安装

2.1. 常用Lua组件

3. Lua入门

Lua.md

4. openresty包

4.1. HTTP

  • 请求行
-- 获取get请求参数
local arg=ngx.req.get_uri_args()
for k,v in pairs(arg) do
    ngx.say("[GET] key:",k," v:",v)
    ngx.say("换行符")
end

-- 获取post请求时,请求参数
ngx.req.read_body() -- 解析body参数之前一定要先读取body
local arg = ngx.req.get_post_args()
for k,v in pairs(arg) do
    ngx.say("[POST] key:",k," v:",v)
    ngx.say("<br>")
end
  • 请求头
-- 获取header
local headers = ngx.req.get_headers()
for k,v in pairs(headers) do
    ngx.say("[header] name;",k," v:",v)
    ngx.say("<br>")
end
  • 请求体
--获取body信息
local data = ngx.req.get_body_data()
ngx.say(data)
ngx.req.get_body_data() -- 请求体,会偶尔出现读取不到直接返回nil的情况。如果请求体尚未被读取,请先调用ngx.req.read_body(或打开lua_need_request_body选项强制本模块读取请求体,此方法不推荐)

5. 参考

讨论

使用 GitHub 账号参与讨论,评论会保存在 GitHub Issues 中。在 GitHub 查看