写点什么

lua-zlib 模块安装与使用

  • 2025-11-07
    北京
  • 本文字数:837 字

    阅读完需:约 3 分钟

本文分享自天翼云开发者社区《lua-zlib模块安装与使用》.作者:lucky_lyw


lua-zlib 包用于 nginx 上对 gzip 数据进行解压缩,可将 lua-zlib 编译成一个动态链接库 zlib.so,便于 lua 引用。


github:https://github.com/brimworks/lua-zlib


  1. 安装


1.1 检查是否安装 zlib

$ rpm -qa zlibzlib-1.2.3-29.el6.x86_64
复制代码

1.2 安装 cmake


检查 gcc, g++, make 是否安装

gcc -vg++ -vmake -v
复制代码

若未安装,则:yum install -y gcc gcc-c++ make automake


安装 cmake

cd /usr/localwget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gztar -xvzf cmake-2.8.10.2.tar.gzcd cmake-2.8.10.2./bootstrapgmakegmake install 检查cmake是否安装成功:$ cmake --versioncmake version 2.8.10.2
复制代码

1.3 安装 lua-zlib

(1)downloadcd /usr/localwget https://github.com/brimworks/lua-zlib/archive/master.zipunzip lua-zlib-master.zip(2)cmakecd /usr/local/lua-zlib-mastercmake -DLUA_INCLUDE_DIR=/usr/local/openresty/luajit/include/luajit-2.1 -DLUA_LIBRARIES=/usr/local/openresty/luajit/lib -DUSE_LUAJIT=ON -DUSE_LUA=OFFmakecp zlib.so /usr/local/openresty/lualib/zlib.so
复制代码


  1. zlib 包使用

local v,mv,pv=zip.version()local str_data-- ngx.log(ngx.INFO, "zip.version(): ", v, ", ", mv, ", ", pv)

local req_cotent_encoding = ngx.req.get_headers()["Content-Encoding"]if req_cotent_encoding == "gzip" then ngx.log(ngx.INFO, "req_cotent_encoding = gzip") -- 解压缩 local inflate = zip.inflate() str_data = inflate(data) ngx.log(ngx.INFO, "raw data: ", data, ", after inflate str_data: ", str_data) -- 压缩验证 --[[local deflate = zip.deflate() str_data = deflate(data) ngx.log(ngx.INFO, "raw data: ", data, ", after deflate str_data: ", str_data)]]--else ngx.log(ngx.INFO, "req_cotent_encoding ~= gzip") str_data = dataend
复制代码


用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
lua-zlib模块安装与使用_CDN_天翼云开发者社区_InfoQ写作社区