nginx 變量 + lua
阿新 • • 發佈:2017-11-20
框架 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#.24urifilename = 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