Nginx安装Openresty加载Lua代码

1、下载

VM环境:ubuntu 16

http://openresty.org/cn/download.html

 我选择的是截图红框的那个版本,其他高级的版本,我编译的时候都会报错,所以选择了这个版本,大家编译失败的时候不要放弃,继续选择其他版本编辑即可。

 2、解压然后编译

./configure --prefix=/usr/local/openresty1.15.8

# 之前遇到一个报错,我这样解决了

# ./configure --prefix=/usr/local/openresty1.15.8 --without-http_rewrite_module

make

make install

 安装后的目录

 

 如果本地有启动其他nginx,为了防止冲突,需要在conf目录里修改下配置,端口,我这里修改为81

启动:./nginx -c /usr/local/openresty1.15.8/nginx/conf/nginx.conf

 3、测试加载lua代码

http {

...

# 不缓存lua代码,修改lua及时生效,但是每次请求会加载lua代码,牺牲了性能,

# 所以测试阶段开始关掉。默认是开启的。

lua_code_cache off;

server {

location /lua {
            default_type   text/html;
            content_by_lua_file lua/main.lua;
        }

}

}

修改完后重启,会有提示。

在 nginx根目录下创建lua目录,/usr/local/openresty1.15.8/nginx/lua,进入lua目录创建

vim main.lua

ngx.say("hello !")

 重启nginx 

../sbin/nginx -s stop

../sbin/nginx -c /usr/local/openresty1.15.8/nginx/conf/nginx.conf

 

4、lua获取用户请求header

local headers = ngx.req.get_headers()
ngx.say("Host : ", headers["Host"],"<br/>")
ngx.say("user-agent : ", headers["user-agent"], "<br />")
ngx.say("user-agent : ",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

 

 5、获取用户请求post参数

ngx.say("post args", "<br/>")
ngx.req.read_body()
local args = ngx.req.get_post_args()
for k,v in pairs(args) do
    if type(v) == "table" then
        ngx.say(k," : ", table.concat(v, "."),"<br/>")
    else
        ngx.say(k," : ", v, "<br/>")
    end
end

 

 你学会了吗?欢迎留言评论,共同进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值