• 【Nginx】如何为已安装的Nginx动态添加模块?看完我懂了!!


    写在前面

    很多时候,我们根据当时的项目情况和业务需求安装完Nginx后,后续随着业务的发展,往往会给安装好的Nginx添加其他的功能模块。在为Nginx添加功能模块时,要求Nginx不停机。这就涉及到如何为已安装的Nginx动态添加模块的问题。本文,就和小伙伴们一起探讨如何为已安装的Nginx动态添加模块的问题。

    为Nginx动态添加模块

    这里以安装第三方ngx_http_google_filter_module模块为例。

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

    下载第三方扩展模块ngx_http_google_filter_module

    # cd /data/software/
    # git clone https://github.com/cuber/ngx_http_google_filter_module
    

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

    将命令行切换到Nginx执行程序所在的目录并输入./nginx -V,具体如下:

    [root@binghe sbin]# ./nginx -V
    nginx version: nginx/1.19.1
    built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
    built with OpenSSL 1.0.2 22 Jan 2015
    TLS SNI support enabled
    configure arguments: --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module
    [root@binghe sbin]# 
    

    可以看出编译安装Nginx使用的参数如下:

    --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module
    

    加入需要安装的模块,重新编译

    这里添加 --add-module=/data/software/ngx_http_google_filter_module

    具体如下:

    ./configure  --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2 --with-pcre=/usr/local/src/pcre-8.37 --with-zlib=/usr/local/src/zlib-1.2.8 --with-http_ssl_module -–add-module=/data/software/ngx_http_google_filter_module
    

    如上,将之前安装Nginx的参数全部加上,最后添加 --add-module=/data/software/ngx_http_google_filter_module

    之后,我们要进行编译操作,如下:

    # make    //千万不要make install,不然就真的覆盖
    

    这里,需要注意的是:不要执行make install命令。

    替换nginx二进制文件

    # 备份原来的nginx执行程序
    # mv /usr/local/nginx-1.19.1/sbin/nginx /usr/local/nginx-1.19.1/sbin/nginx.bak
    # 将新编译的nginx执行程序复制到/usr/local/nginx-1.19.1/sbin/目录下
    # cp /opt/nginx/sbin/nginx /usr/local/nginx-1.19.1/sbin/
    

    好了,今天就聊到这儿吧!别忘了点个赞,给个在看和转发,让更多的人看到,一起学习,一起进步!!

    写在最后

    如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!

  • 相关阅读:
    为什么要做服务化?
    同步 互斥锁 读写锁 区别
    http request header 中的host行的作用
    关于group by 、group by having、where group by与 group by order by
    where,having与 group by连用的区别
    数据库:drop、truncate、delete三者删除的区别
    设置 TOMCAT 请求超时时间 和 最大连接数
    访问平台Servlet时,如何设置超时时间
    开源一款简单清爽的日历组件,JavaScript版的
    关于响应式布局
  • 原文地址:https://www.cnblogs.com/binghe001/p/13303716.html
Copyright © 2020-2023  润新知