參考文章
conf檔案與原來文章的配置有點不同,這個要參考官方文件
vim /usr/chapter6/nginx_chapter6.conf
upstream backend
server
location
~ ^/ad/(\d+)$
}
lua檔案
local redis = require("resty.redis")
local cjson = require("cjson")
local cjson_encode = cjson.encode
local ngx_log = ngx.log
local ngx_err = ngx.err
local ngx_exit = ngx.exit
local ngx_print = ngx.print
local ngx_re_match = ngx.re.match
local ngx_var = ngx.var
local
function
close_redis(red)
ifnot red then
return
end --釋放連線(連線池實現)
local pool_max_idle_time = 10000
--毫秒
local pool_size = 100
--連線池大小
local ok, err = red:set_keepalive(pool_max_idle_time, pool_size)
ifnot ok then
ngx_log(ngx_err, "set redis keepalive error : ", err)
endendlocal
function
read_redis(id)
local red = redis:new()
red:set_timeout(1000)
local ip = "127.0.0.1"
local port = 1111
local ok, err = red:connect(ip, port)
ifnot ok then
ngx_log(ngx_err, "connect to redis error : ", err)
return close_redis(red)
endlocal resp, err = red:get(id)
ifnot resp then
ngx_log(ngx_err, "get redis content error : ", err)
return close_redis(red)
end--得到的資料為空處理
end--獲取id
local id = ngx_var.id
--從redis獲取
local content = read_redis(id)
--如果redis沒有,回源到tomcat
end--如果還沒有返回404
end--輸出內容
日誌
發現乙個nginx LUA開發Web App的框架
舉報 目錄 nginx是個好東西,nginx的openrtsy發行版本更是個好東西。今天又發現個好東西 moochine moochine 乙個簡單的輕量級的web framework,基於ngx openresty ngx lua,ttp 做的框架,屬性 方法 request read body ...
nginx lua環境搭建
lua 是乙個小巧的指令碼語言。該語言的設計目的是為了嵌入應用程式中,從而為應用程式提供靈活的擴充套件和定製功能。lua指令碼可以很容易的被c c 呼叫,也可以反過來呼叫c c 的函式,這使得lua在應用程式中可以被廣泛應用。不僅僅作為擴充套件指令碼,也可以作為普通的配置檔案,代替xml,ini等檔...
nginx lua 執行階段
nginx 處理請求的過程一共劃分為 11 個階段,按照執行順序依次是 rewrite access 和 content 這三個最為常見的 nginx 請求處理階段 ngx.lua的執行階段 ngx realip 模組究竟有什麼實際用途呢?為什麼我們需要去改寫請求的 位址呢?答案是 當 nginx ...