注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

snoopyxdy的博客

https://github.com/DoubleSpout

 
 
 

日志

 
 

OpenResty使用lua-zlib  

2015-12-16 14:48:26|  分类: lua |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转载地址:http://www.cnblogs.com/littlehb/p/4194943.html

==================================================================
1、查看 zlib在centos 中是否存在?
rpm -qa | grep zlib

显示:
zlib-devel-1.2.3-29.el6.x86_64
zlib-1.2.3-29.el6.x86_64

表示已安装,不用过多担心 。

====================================================================
2、安装cmake编译器

yum install -y gcc gcc-c++ make automake 
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
gmake
gmake install

检查cmake安装
cmake --version
显示
cmake version 2.8.10.2
表示安装成功
====================================================================
3、下载lua-zlib包,并解压
unzip lua-zlib-master.zip
cd /usr/local/software/lua-zlib-master

cmake -DLUA_INCLUDE_DIR=/usr/local/openresty/luajit/include/luajit-2.1
make

cp zlib.so /usr/local/openresty/lualib/zlib.so
====================================================================

 4、在lua脚本中调用 

复制代码
 location /test {
                   default_type  text/html;
                   content_by_lua '
                        local zlib = require "zlib"
                        local encoding = ngx.req.get_headers()["Content-Encoding"]
                        -- post参数在接收前首先要执行这个
                        ngx.req.read_body();

                        if encoding == "gzip" then
                                local body = ngx.req.get_body_data()
                                if body then
                                        local stream = zlib.inflate()
                                        local r=stream(body);
                                        ngx.req.set_body_data(r);
                                end
                        else
                                ngx.say("输入的内容未经过gzip压缩。");
                                ngx.exit(ngx.HTTP_OK);
                        end

                        --输出参数看看
                        local args = ngx.req.get_post_args()
                        for key, val in pairs(args) do
                        if type(val) == "table" then
                                ngx.say(table.concat(val, ", "))
                        else
                                ngx.say(val)
                        end
                        end
                    ';
                }
  评论这张
 
阅读(407)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016