国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

nginx的lua api

FreeZinG / 3476人閱讀

摘要:重定向狀態碼設置響應的狀態碼獲取設置的響應狀態碼發送響應狀態碼,當調用時自動發送響應狀態碼可以通過判斷是否發送了響應狀態碼。

基本api ngx.var

nginx 變量,如果要賦值如 ngx.var.b = 2,此變量必須提前聲明;另外對于 nginx location 中使用正則捕獲的捕獲組可以使用 ngx.var [捕獲組數字]獲取;

ngx.req.get_headers

獲取請求頭,默認只獲取前100,如果想要獲取所以可以調用ngx.req.get_headers(0);獲取帶中劃線的請求頭時請使用如 headers.user_agent 這種方式;如果一個請求頭有多個值,則返回的是 table;

ngx.req.get_uri_args

獲取 url 請求參數,其用法和 get_headers 類似;

ngx.req.get_post_args

獲取 post 請求內容體,其用法和 get_headers 類似,但是必須提前調用 ngx.req.read_body() 來讀取 body 體(也可以選擇在 nginx 配置文件使用lua_need_request_body on;開啟讀取 body 體,但是官方不推薦);

ngx.req.raw_header

未解析的請求頭字符串;

ngx.req.get_body_data

為解析的請求 body 體內容字符串。

ngx.redirect

重定向;

ngx.status= 狀態碼

設置響應的狀態碼;

ngx.resp.get_headers()

獲取設置的響應狀態碼;

ngx.send_headers()

發送響應狀態碼,當調用 ngx.say/ngx.print 時自動發送響應狀態碼;可以通過 ngx.headers_sent=true 判斷是否發送了響應狀態碼。

ngx.escape_uri/ngx.unescape_uri

uri 編碼解碼;

ngx.encode_args/ngx.decode_args

參數編碼解碼;

ngx.encode_base64/ngx.decode_base64

BASE64 編碼解碼;

ngx.re.match

nginx 正則表達式匹配;

var及req實例
--nginx變量  
local var = ngx.var  
ngx.say("ngx.var.a : ", var.a, "
") ngx.say("ngx.var.b : ", var.b, "
") ngx.say("ngx.var[2] : ", var[2], "
") ngx.var.b = 2; ngx.say("
") --請求頭 local headers = ngx.req.get_headers() ngx.say("headers begin", "
") ngx.say("Host : ", headers["Host"], "
") ngx.say("user-agent : ", headers["user-agent"], "
") ngx.say("user-agent : ", headers.user_agent, "
") for k,v in pairs(headers) do if type(v) == "table" then ngx.say(k, " : ", table.concat(v, ","), "
") else ngx.say(k, " : ", v, "
") end end ngx.say("headers end", "
") ngx.say("
") --get請求uri參數 ngx.say("uri args begin", "
") local uri_args = ngx.req.get_uri_args() for k, v in pairs(uri_args) do if type(v) == "table" then ngx.say(k, " : ", table.concat(v, ", "), "
") else ngx.say(k, ": ", v, "
") end end ngx.say("uri args end", "
") ngx.say("
") --post請求參數 ngx.req.read_body() ngx.say("post args begin", "
") local post_args = ngx.req.get_post_args() for k, v in pairs(post_args) do if type(v) == "table" then ngx.say(k, " : ", table.concat(v, ", "), "
") else ngx.say(k, ": ", v, "
") end end ngx.say("post args end", "
") ngx.say("
") --請求的http協議版本 ngx.say("ngx.req.http_version : ", ngx.req.http_version(), "
") --請求方法 ngx.say("ngx.req.get_method : ", ngx.req.get_method(), "
") --原始的請求頭內容 ngx.say("ngx.req.raw_header : ", ngx.req.raw_header(), "
") --請求的body內容體 ngx.say("ngx.req.get_body_data() : ", ngx.req.get_body_data(), "
") ngx.say("
") --未經解碼的請求uri local request_uri = ngx.var.request_uri; ngx.say("request_uri : ", request_uri, "
"); --解碼 ngx.say("decode request_uri : ", ngx.unescape_uri(request_uri), "
"); --MD5 ngx.say("ngx.md5 : ", ngx.md5("123"), "
") --http time ngx.say("ngx.http_time : ", ngx.http_time(ngx.time()), "
")
resp實例
--寫響應頭  
ngx.header.a = "1"  
--多個響應頭可以使用table  
ngx.header.b = {"2", "3"}  
--輸出響應  
ngx.say("a", "b", "
") ngx.print("c", "d", "
") --200狀態碼退出 return ngx.exit(200) ngx.header:輸出響應頭; ngx.print:輸出響應內容體; ngx.say:通ngx.print,但是會最后輸出一個換行符; ngx.exit:指定狀態碼退出。
doc

Nginx+Lua 開發入門

lua-nginx-module#readme

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39369.html

相關文章

  • LuaNginx應用

    摘要:例如響應部分通過的形式獲取或設置響應頭信息。以某個狀態碼返回響應內容,狀態碼常量對應關系見部分,也支持數字形式的狀態碼。重定向當前請求到新的,響應狀態碼可選列表為默認。具體內容如下相關文章進入的世界在的應用 首發于 樊浩柏科學院 當 Nginx 標準模塊和配置不能靈活地適應系統要求時,就可以考慮使用 Lua 擴展和定制 Nginx 服務。OpenResty 集成了大量精良的 Lua 庫...

    Mike617 評論0 收藏0
  • nginx lua api解讀

    摘要:對于需要進一步注意的是參數的使用,可以傳入所定義的所有的狀態碼常量如等和兩個模塊內核常量只支持和這兩個,如果傳入其他的如等則進程住。 序 本文主要解讀下nginx lua module的主要方法和api。 ngx_lua運行階段 showImg(https://segmentfault.com/img/bVHFqI?w=1005&h=910); initialization phase...

    shery 評論0 收藏0
  • 【技術干貨】聽阿里云CDN安防技術專家金九講tengine+lua開發

    摘要:例如設置響應狀態碼并退出注意,設置狀態碼僅在響應頭發送前有效,并且該函數調用之后該函數后面的將被忽略掉,因為已經了。 一、介紹 二、安裝 三、運行 四、開發 1. 介紹 Tengine:輕量級、高性能、高并發、配置化、模塊化、可擴展、可移植的Web和反向代理 服務器,Tengine是nginx超集,但做了很多優化,包含了很多比較有用的模塊,比如直接包含了lua、proc等很...

    番茄西紅柿 評論0 收藏0
  • 【技術干貨】聽阿里云CDN安防技術專家金九講tengine+lua開發

    摘要:例如設置響應狀態碼并退出注意,設置狀態碼僅在響應頭發送前有效,并且該函數調用之后該函數后面的將被忽略掉,因為已經了。 一、介紹 二、安裝 三、運行 四、開發 1. 介紹 Tengine:輕量級、高性能、高并發、配置化、模塊化、可擴展、可移植的Web和反向代理 服務器,Tengine是nginx超集,但做了很多優化,包含了很多比較有用的模塊,比如直接包含了lua、proc等很...

    Hegel_Gu 評論0 收藏0
  • nginxupstream異常

    摘要:異常與默認值為默認值為秒。實驗請求里頭的會發起一個,請求請求一次對逐個請求,都失敗,則的返回,對返回的取決于腳本再請求一次該下面的都掛的情況下出現中健康檢查機制深入分析容錯機制原創胡志廣線上的一次分析 異常 upstream server temporarily disabled while connecting to upstream no live upstreams while...

    kun_jian 評論0 收藏0
  • Nginx-深度學習篇

    摘要:深度學習篇一動靜分離通過中間件將動態請求和靜態請求進行分離。原因分離資源,減少不必要的請求消耗,減少請求延時。關閉后,重定向會失效。驗證規則保持一致。啟動,也會要求你輸入密碼。根據用戶的信息等信息區別根據用戶的地址實現灰度發布示意圖 Nginx-深度學習篇 一、動靜分離 通過中間件將動態請求和靜態請求進行分離。原因:分離資源,減少不必要的請求消耗,減少請求延時。 動態和靜態請求圖例:s...

    wh469012917 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<