当前位置:  首页>> 技术小册>> Nginx典型应用场景

为Nginx动态添加模块

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

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

下载第三方扩展模块ngx_http_google_filter_module

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

查看nginx编译安装时安装了哪些模块
将命令行切换到Nginx执行程序所在的目录并输入./nginx -V,具体如下:

  1. [root@binghe sbin]# ./nginx -V
  2. nginx version: nginx/1.19.1
  3. built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
  4. built with OpenSSL 1.0.2 22 Jan 2015
  5. TLS SNI support enabled
  6. 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
  7. [root@binghe sbin]#

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

  1. --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

具体如下:

  1. ./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

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

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

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

替换nginx二进制文件

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

该分类下的相关小册推荐: