zoukankan      html  css  js  c++  java
  • 不重装nginx实现动态添加模块

    如果项目在提供服务的过程中,因为需求使然,需要对nginx进行模块的动态添加,可以按照如下流程进行操作

    一.查看nginx当前已经安装了那些模块

      1) 进入nginx执行文件目录

        cd   /usr/local/nginx/sbin/

      2)执行命令

        ./nginx  -V    # 大写 V

      得到类似如下输出:     

    nginx version: nginx/1.14.2
    
    built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
    
    built with OpenSSL 1.1.1 11 Sep 2018
    
    TLS SNI support enabled
    
    configure arguments:
    --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module –conf-path=/usr/local/nginx/nginx.conf

     

    二.添加模块

      添加模块时注意: 需要将原有的模块带上  

    cd  /usr/local/nginx
    
    ./configure  --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --withhttp_realip_module --conf-path=/usr/local/nginx/nginx.conf --with-http_mp4_module --with-http_flv_module
    
    make

      注意:  make 执行完成以后, 不可以 make install, 否则会重新安装nginx

     

    三.替换nginx执行文件

      重新安装模块以后, 会在 /usr/local/nginx/objs 目录重新生成一个 nginx 执行文件, 需要将其复制到 sbin 目录内

      为了保险起见,将原有的执行文件进行备份

        cp /usr/local/nginx/sbin  /usr/local/nginx/sbin/nginx.bak

      将 objs 目录下的执行文件复制到 sbin 目录下(实际操作,执行到这一步,需要停止nginx)

        cp  /usr/local/nginx/objs/nginx  /usr/local/nginx/sbin/nginx

     

    四.赋予新的nginx执行文件使用低号端口权限(本人需要使用80端口启动nginx)

    sudo setcap cap_net_bind_service=+eip  /usr/local/nginx/sbin/nginx

     

    五.检查模块是否添加成功

    cd  /usr/ocal/nginx/sbin/  
    
    ./nginx  -V
    
    测试输出如下:
       nginx version: nginx
    /1.14.2    built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)    built with OpenSSL 1.1.1 11 Sep 2018    TLS SNI support enabled   configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with http_stub_status_module --with-http_ssl_module --with-http_realip_module --conf-path=/usr/local/nginx/nginx.conf --with-http_mp4_module --with-http_flv_module

      

      添加模块成功, 重启 nginx 即可 

     

  • 相关阅读:
    eval()和JSON.parse()的区别
    Android的Monkey和MonkeyRunner
    JavaScript event对象clientX,offsetX,screenX异同
    @-webkit-keyframes 动画 css3
    W3C标准定义的DOM由哪三部分组成
    Javascript 中的神器——Promise
    为什么你的javascript学了这么久,水平还是烂成了渣?
    js深入理解构造函数和原型对象
    js常用面试题整理
    面试宝典:25个最经典的JavaScript面试题及答案
  • 原文地址:https://www.cnblogs.com/lowmanisbusy/p/11398752.html
Copyright © 2011-2022 走看看