使用 nginx-push-stream-module 重新编译 Nginx?

使用 nginx-push-stream-module 重新编译 Nginx?

我已经使用 apt-get 在 Ubuntu 上安装了 Nginx。现在我需要以某种方式添加模块:

他们的安装建议使用模块重新编译 Nginx:https://github.com/wandenberg/nginx-push-stream-module/blob/master/README.textile

当我已经使用 apt-get 安装了 Nginx 后,我该怎么做?

我想保留我的所有当前设置,然后以某种方式将模块放入其中

答案1

在 Ubuntu 中有一种方法可以做到这一点!
您可以重建 Ubuntu 的 Nginx 包 - 并将您的模块包含到其中。
然后使用以下命令阻止 Nginx 自动更新:

sudo aptitude hold nginx
sudo aptitude hold nginx-full

我给自己写了一条指令——我的帖子关于在 Ubuntu 中使用新模块重新编译 Nginx

附言:希望这个链接不要很快就失效。我懒得复制粘贴所有内容

答案2

没有办法做到这一点。

您需要从源代码重新编译 Nginx 和模块,如 Nginx Push Stream 文档中所述。

无法实现您的愿望,因为 Nginx 不像 Apache 那样支持 DSO(动态共享对象)。Nginx 无法加载模块,因为它的设计不适合动态链接二进制文件,它必须在编译时链接模块,这就是我们所说的静态编译(单片)二进制文件。使用 Apache,您可以从 .so 文件加载外部模块,但在 Nginx 中,您需要编译包含所有模块的“sbin/nginx”二进制文件,这就是您无法使用 apt-get 模块的原因,您需要自己做一些编译工作。祝您黑客愉快。

相关内容