nginx 安装第三方模块

编辑于 2022-10-02 22:52 阅读 1053

下面以rtmp模块为例 https://github.com/arut/nginx-rtmp-module

普通方式

静态模块

./configure --add-module=/path/to/nginx-rtmp-module

make

//make编译,编译好的程序在objs文件夹下面,这时候不要执行make install 避免新编译的程序有问题,又覆盖了原有的程序

//备份原来的nginx可执行文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

//把编译好的Nginx程序替换到原来的目录里
cp objs/nginx /usr/local/nginx/sbin/

//升级检测
make upgrade

//如果显示新模块信息则安装成功
nginx -V

动态模块

NGINX 1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展。

./configure --add-dynamic-module=/path/to/nginx-rtmp-module
make
make install

加载

vi /etc/nginx/nginx.conf
...
load_module modules/ngx_rtmp_module.so;
events {
    worker_connections  1024;
}
...

docker方式

//https://github.com/nginxinc/docker-nginx/tree/master/modules
cd modules
docker pull nginx:mainline
docker build --build-arg ENABLED_MODULES="rtmp" -t nginx-with-rtmp .

https://github.com/nginxinc/docker-nginx/issues/332

https://github.com/nginxinc/docker-nginx/tree/master/modules

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验