如何安装 nginx 模块

如何安装 nginx 模块

我刚刚通过 apt-get 仓库安装了 nginx。但不幸的是HttpAuthDigestModule安装时不包含。这是从源代码安装的方法 -./configure --add-module=../samizdatco-nginx-http-auth-digest-xxxxxxx

如何配置已安装的 nginx?

答案1

TL;DR:您不能向已安装的 NGINX 添加模块。 继续阅读以了解原因以及可能的解决方案。

已安装在您系统上的软件包nginx(无论是否来自主存储库)已使用系统中设置的模块进行编译。这也适用于任何 nginx PPA(来自 nginx 团队)。由于二进制文件已使用一组模块进行编译,因此您无法“添加”任何模块,除非您进行一些额外的工作。

要添加http-auth-digest模块,您要么必须找人为您在 PPA 中创建定制包,您可以使用该包来更新软件并使其运行;要么找人为您创建一个包含该模块的定制 Debian 包;要么自己从源代码构建、编译和配置。


自 2016 年起,NGINX 开始支持动态模块。 然而,您需要根据要将模块放入的 NGINX 的完全相同的版本对动态模块进行预编译。

这要求模块以正确的方式编写,以便作为动态模块工作,但如果是这样,那么从技术上讲,您可以在同一个 NGINX 实例旁边编译它,然后将编译后的模块移动到完全相同版本的另一个 NGINX 系统。但是,这不允许您编译模块没有同时编译 NGINX,因此你仍然需要编译NGINX 以获得可用的动态模块。

但是,动态模块支持在 16.04 中不可用,因为它需要进行 16.04 发布周期中未提供的重大打包更改,因此仅在 16.10 及更高版本中可用。

相关内容