OpenResty® 通过 Lua 扩展 NGINX 的可扩展 Web 平台

OpenResty XRay

为 OpenResty 及其他构建的先进可观测性

×

限时优惠

申请 试用版 今天,并获得诊断 报告
Learn more
新! OpenResty 1.25.3.2 已发布!
新! OpenResty 1.21.4.4 已发布!
新! 新的博客文章 OpenResty XRay 移动应用程序简介 已发布。
新! 新的博客文章 使用 OpenResty XRay 在 PHP 进程中定位大型内存对象 已发布。

使用 LuaRocks

Arnaud Brousseau , 2016 年 11 月 16 日(创建于 2011 年 8 月 7 日)

警告!此页面已过时。强烈建议不要在 OpenResty 中使用 LuaRocks,因为 OpenResty 提供了自己的包管理器,OPM

此示例演示了LuaRocksOpenResty 的用法。它已在 Linux 和 Mac OS X 上进行测试,使用标准 Lua 解释器或 LuaJIT

LuaRocks 是 Lua 模块的部署和管理系统。LuaRocks 允许将 Lua 模块安装为独立的包,称为“rocks”,这些包还包含版本依赖信息。

我们假设您已将 OpenResty 安装到默认位置,即 /usr/local/openresty。您可以根据实际的 OpenResty 安装前缀调整此示例中的路径。如果您尚未安装 OpenResty,请查看 下载安装 页面。

安装 LuaRocks

首先,让我们安装 LuaRocks

https://luarocks.org/releases 下载 LuaRocks 压缩包。截至撰写本文时,最新版本是 2.3.0,但我们将使用 2.0.13 确保与本示例的兼容性。

wget http://luarocks.org/releases/luarocks-2.0.13.tar.gz
tar -xzvf luarocks-2.0.13.tar.gz
cd luarocks-2.0.13/
./configure --prefix=/usr/local/openresty/luajit \
    --with-lua=/usr/local/openresty/luajit/ \
    --lua-suffix=jit \
    --with-lua-include=/usr/local/openresty/luajit/include/luajit-2.1
make
sudo make install

使用 LuaRocks 安装 Lua MD5 库

在本示例中,我们将使用 Lua MD5 库作为示例,因此让我们使用 LuaRocks 安装它

sudo /usr/local/openresty/luajit/luarocks install md5

已知问题

OpenResty 1.0.4.2rc10 之前,已知启用 lua_code_cache 会导致 LuaRocks 在 Lua Nginx 模块 上抛出以下异常,在 error.log

lua handler aborted: runtime error: stack overflow

如果您使用的是 OpenResty 1.0.4.2rc10 之前的任何版本,请考虑升级。