想通过请求/update?speed=1000来改变内存里的limit_rate值,但是下面的写法不正确,cur_speed一直是nil(http里已经申请 lua_shared_dict ngx_cache 128m)。。。。
server{
listen 8083;
error_log /tmp/8083.log debug;
location /update {
content_by_lua '
local speed = ngx.req.get_uri_args()["speed"]
if speed == nil then
ngx.say("usage: /update?speed=xxx")
return
end
local dlspeed = ngx.var.limit_rate
ngx.shared.ngx_cache:set(dlspeed, speed)
ngx.say("now download speed is: ", ngx.shared.ngx_cache:get(dlspeed))
ngx.say("now download speed is: ", ngx.shared.ngx_cache:get(ngx.var.limit_rate))
ngx.say("now download speed is: ", ngx.var.limit_rate)
';
}
location / {
access_by_lua '
cur_speed = ngx.shared.ngx_cache:get(ngx.var.limt_rate)
if cur_speed == nil then
cur_speed = 200000
end
ngx.var.limit_rate = cur_speed
';
root /raid/wwwroot ;
}
}