![使用 nginx-push-stream-module 重新编译 Nginx?](https://linux22.com/image/830845/%E4%BD%BF%E7%94%A8%20nginx-push-stream-module%20%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91%20Nginx%EF%BC%9F.png)
我已经使用 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 模块的原因,您需要自己做一些编译工作。祝您黑客愉快。