1 安装
tar -xvf openresty-1.19.9.1.tar.gz
./configure --prefix=/app/openresty
gmake && gmake install
2 启动openresty
# 启动
/app/openresty/nginx/sbin/nginx -c /app/openresty/nginx/conf/nginx.conf
# 重新加载配置
/app/openresty/nginx/sbin/nginx reload
3 nginx与lua整合
location /lua {
default_type text/html;
content_by_lua '
ngx.say("<h1>hello world</h1>")
';
}
4 nginx加载lua文件
location /luafile {
default_type text/html;
content_by_lua_file text.lua;
}
text.lua
ngx.say("<h1>hello world</h1>")
5 通过lua脚本获取变量
# 取a参数
ngx.say(ngx.var.arg_a)
# 取所有参数
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,","),"<br/>")
else
ngx.say(k,":",v,"<br/>")
end
end
# 取所有头信息
local headers = ngx.req.get_headers()
ngx.say("Host:",headers["Host"],"<br/>")
ngx.say("user-agent:",headers["user-agent"],"<br/>")
ngx.say("Host:",headers.user_agent,"<br/>")
for k,v in pairs(headers) do
if type(v) == "table" then
ngx.say(k,":",table.concat(v,","),"<br/>")
else
ngx.say(k,":",v,"<br/>")
end
end