1. 程式人生 > >nginx 變量 + lua

nginx 變量 + lua

框架 add crypt lua rgs meta method wiki posit

nginx變量使用方法詳解(8)

nil、null與ngx.null

發現一個nginx LUA開發Web App的框架

nginx是個好東西, nginx的openrtsy發行版本更是個好東西。

今天又發現個好東西 :Moochine

MOOCHINE - 一個簡單的輕量級的web framework, 基於ngx_OpenResty(ngx_lua,ttp://openresty.org) 做的框架,

使用例子 https://github.com/appwilldev/moochine-demo

項目地址:https://github.com/appwilldev/moochine

可以讓我們構建WebApp 更加的簡單,具體使用方法請看具體的 moochine-demo

request對象的屬性和方法

--屬性
method          = ngx.var.request_method    -- http://wiki.nginx.org/HttpCoreModule#.24request_method
schema          = ngx.var.schema            -- http://wiki.nginx.org/HttpCoreModule#.24scheme
host            = ngx.var.host              -- http://
wiki.nginx.org/HttpCoreModule#.24host hostname = ngx.var.hostname -- http://wiki.nginx.org/HttpCoreModule#.24hostname uri = ngx.var.request_uri -- http://wiki.nginx.org/HttpCoreModule#.24request_uri path = ngx.var.uri -- http://wiki.nginx.org/HttpCoreModule#.24uri
filename = ngx.var.request_filename -- http://wiki.nginx.org/HttpCoreModule#.24request_filename query_string = ngx.var.query_string -- http://wiki.nginx.org/HttpCoreModule#.24query_string user_agent = ngx.var.http_user_agent -- http://wiki.nginx.org/HttpCoreModule#.24http_HEADER remote_addr = ngx.var.remote_addr -- http://wiki.nginx.org/HttpCoreModule#.24remote_addr remote_port = ngx.var.remote_port -- http://wiki.nginx.org/HttpCoreModule#.24remote_port remote_user = ngx.var.remote_user -- http://wiki.nginx.org/HttpCoreModule#.24remote_user remote_passwd = ngx.var.remote_passwd -- http://wiki.nginx.org/HttpCoreModule#.24remote_passwd content_type = ngx.var.content_type -- http://wiki.nginx.org/HttpCoreModule#.24content_type content_length = ngx.var.content_length -- http://wiki.nginx.org/HttpCoreModule#.24content_length headers = ngx.req.get_headers() -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_headers uri_args = ngx.req.get_uri_args() -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_uri_args post_args = ngx.req.get_post_args() -- http://wiki.nginx.org/HttpLuaModule#ngx.req.get_post_args socket = ngx.req.socket -- http://wiki.nginx.org/HttpLuaModule#ngx.req.socket --方法 request:read_body() -- http://wiki.nginx.org/HttpLuaModule#ngx.req.read_body request:get_uri_arg(name, default) request:get_post_arg(name, default) request:get_arg(name, default) request:get_cookie(key, decrypt) request:rewrite(uri, jump) -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri request:set_uri_args(args) -- http://wiki.nginx.org/HttpLuaModule#ngx.req.set_uri_args

response對象的屬性和方法

--屬性
headers         = ngx.header                -- http://wiki.nginx.org/HttpLuaModule#ngx.header.HEADER

--方法
response:set_cookie(key, value, encrypt, duration, path)
response:write(content)
response:writeln(content)
response:ltp(template,data)
response:redirect(url, status)              -- http://wiki.nginx.org/HttpLuaModule#ngx.redirect

response:finish()                           -- http://wiki.nginx.org/HttpLuaModule#ngx.eof
response:is_finished()
response:defer(func, ...)                   -- 在response返回後執行

支持 Multi-App 與 Sub-App

nginx 變量 + lua