zoukankan      html  css  js  c++  java
  • 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就重新编译添加模块成功了。

  • 相关阅读:
    分布式设计与开发(一)------宏观概述
    分布式设计与开发(二)------几种必须了解的分布式算法
    分布式设计与开发(三)------高一致性服务ZooKeeper
    jvm工作原理
    JVM原理和优化
    分布式系统设计原理与方案
    在Linux上安装Memcached服务
    使用Memcached、Spring AOP构建数据库前端缓存框架
    Java使用memcached
    Memcache的部署和使用
  • 原文地址:https://www.cnblogs.com/kinwing/p/11106721.html
Copyright © 2011-2022 走看看