首页 > 代码库 > 在OpenResty中使用lua-zlib的方法

在OpenResty中使用lua-zlib的方法

==================================================================
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脚本中调用 

local zlib = require "zlib"local encoding = ngx.req.get_headers()["Content-Encoding"]if encoding == "gzip" then    local body = ngx.req.get_body_data()    if body then        local stream = zlib.inflate()        ngx.req.set_body_data(stream(body))    endend

====================================================================

问题总结:

Makefile是linux下面的文件,对于一个包含很多文件的工程,如果直接编译,那么我们就需要使用一些命令将所有的文件都包括进来。如果我们对其中的一些文件稍做修改,那么我们需要重新输入这些命令。Makefile文件就可以很好的解决这个问题,它将所需要的命令都包含在这个Makefile文件中,然后简单的make一下就完成了所有的步骤。

技术分享

在OpenResty中使用lua-zlib的方法