Nginx动态添加模块 平滑升级


Nginx动态添加模块 平滑升级

已经安装好的Nginx动态添加模块

说明

  已经安装好的Nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 这里已安装第三方nginx-rtmp-module模块为例

  nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so

具体操作步骤

(1)下载第三方扩展模块

这里已模块 nginx-rtmp-module 为例:

[root@master ~]# cd /home/work/software/
[root@master ~]# wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
[root@master ~]# unzip master.zip
[root@master ~]# ls nginx-rtmp-module-master/

(2)查看nginx编译安装时安装了哪些模块

[root@master ~]# /opt/nginx-1.9.5/sbin/nginx -V 
nginx version: nginx/1.9.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1g 7 Apr 2014
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module

可以看出编译安装使用了--prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module这些模块。

(3)加入需要安装的模块

重新编译,如这里添加–add-module=/home/work/software/nginx-rtmp-module-master

[root@master ~]# cd /home/work/software/nginx-1.9.5     //进入到nginx之前安装的目录
[root@master ~]# ./configure --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module --add-module=/home/work/software/nginx-rtmp-module-master
[root@master ~]# make    //注意:千万不要make install,不然真的就GG了

(4)替换nginx二进制文件

[root@master ~]# /etc/init.d/nginx stop  
[root@master ~]# cp /opt/nginx-1.9.5/sbin/nginx /opt/nginx-1.9.5/sbin/nginx.bak
[root@master ~]# cp ./objs/nginx /opt/nginx-1.9.5/sbin/

(5)再次确认是否安装成功

[root@master ~]# /opt/nginx-1.9.5/sbin/nginx -V 
nginx version: nginx/1.9.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) 
built with OpenSSL 1.0.1g 7 Apr 2014
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.9.5 --with-pcre=/home/work/software/pcre-8.38 --with-zlib=/home/work/software/zlib-1.2.8 --conf-path=/opt/nginx-1.9.5/conf/nginx.conf --pid-path=/opt/nginx-1.9.5/conf/nginx.pid --with-http_ssl_module --with-openssl=/home/work/software/openssl-1.0.1g --add-module=/home/work/software/headers-more-nginx-module-0.23 --add-module=/home/work/software/nginx-http-concat-master --with-http_gzip_static_module --add-module=/home/work/software/nginx-rtmp-module-master

至此、nginx就重新编译添加模块成功了。

作者:别来无恙-

出处:https://www.cnblogs.com/yanjieli/p/10615361.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。


文章作者: Cheney
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Cheney !
 上一篇
Linux 软硬链接说明及使用 Linux 软硬链接说明及使用
软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。 具体用法是:ln -s 源文件 目标文件。 当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们
2021-01-21
下一篇 
Nginx+rtmp+ffmpeg搭建流媒体服务器 Nginx+rtmp+ffmpeg搭建流媒体服务器
Nginx+rtmp+ffmpeg搭建流媒体服务器说明  nginx搭建流媒体服务需要用到 nginx-rtmp-module 模块 具体操作步骤: 安装nginx(1)下载第三方扩展模块nginx-rtmp-module**[root@m
2021-01-21
  目录