微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx动态添加模块 平滑升级

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

说明:

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

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

具体操作步骤:

(1)下载第三方扩展模块Nginx-rtmp-module

# cd /home/work/software/
# wget https://github.com/arut/Nginx-rtmp-module/archive/master.zip
# unzip master.zip
# ls Nginx-rtmp-module-master/

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

# /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

# cd /home/work/software/Nginx-1.9.5     //进入到Nginx之前安装的目录
# ./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
# make    //注意:千万不要make install,不然真的就GG了

 (4)替换Nginx二进制文件

# /etc/init.d/Nginx stop  
# cp /opt/Nginx-1.9.5/sbin/Nginx /opt/Nginx-1.9.5/sbin/Nginx.bak
# cp ./objs/Nginx /opt/Nginx-1.9.5/sbin/

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

 # /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就重新编译添加模块成功了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐