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

OpenResty XRay

为 OpenResty 及更多平台构建的先进可观察性

×

限时优惠

申请 试用版 今天并获得诊断 报告
Learn more
新! OpenResty 1.25.3.2 现已发布!
新! OpenResty 1.21.4.4 现已发布!
新! 新博客文章 OpenResty XRay 移动应用程序简介 已发布。

Drizzle Nginx 模块

章亦春 , 2013 年 10 月 17 日(创建于 2011 年 6 月 21 日)

这是一个 nginx 上游模块,它通过 libdrizzle 与 MySQL 和/或 Drizzle 数据库服务器通信。

默认情况下,此 ngx_drizzle 模块未启用。您应该在配置 OpenResty 时指定 --with-http_drizzle_module 选项。

libdrizzle C 库不再由 OpenResty 捆绑。您需要从 https://launchpad.net/drizzle 下载 drizzle 服务器压缩包。

最新的 drizzle7 版本不支持单独构建 libdrizzle 1.0,并且需要很多外部依赖项,例如 Boost 和 Protobuf,这些依赖项很难安装。支持单独构建 libdrizzle 1.0 的最后一个版本是 2011.07.21。您可以从这里下载它

https://openresty.org.cn/download/drizzle7-2011.07.21.tar.gz

当您获得 drizzle7 2011.07.21 版本的压缩包时,您可以像这样安装 libdrizzle-1.0

tar xzvf drizzle7-2011.07.21.tar.gz
cd drizzle7-2011.07.21/
./configure --without-server
make libdrizzle-1.0
make install-libdrizzle-1.0

请确保您的 python 命令指向 python2 解释器。众所周知,在最近的 Arch Linux 发行版中,python 默认链接到 python3,而在运行 make libdrizzle-1.0 时会产生以下错误

File "config/pandora-plugin", line 185
    print "Dependency loop detected with %s" % plugin['name']
                                           ^
SyntaxError: invalid syntax
make: *** [.plugin.scan] Error 1

您可以通过暂时将 python 指向 python2 来解决此问题。

当您将 libdrizzle-1.0 库安装到自定义路径前缀时,您可以像这样向 OpenResty 指定 libdrizzle 前缀

cd /path/to/ngx_openresty-VERSION/
./configure --with-libdrizzle=/path/to/drizzle --with-http_drizzle_module

文档页面:https://github.com/openresty/drizzle-nginx-module#readme

项目页面:https://github.com/openresty/drizzle-nginx-module

当与 LuaNginxModule 一起使用时,建议使用 LuaRestyMySQLLibrary 而不是这个,因为它更灵活,内存效率更高。