已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢?
这里以安装第三方ngx_http_google_filter_module模块为例。
nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so
1、下载第三方扩展模块ngx_http_google_filter_module
[root@bogon sbin]# cd /usr/local/src/
[root@bogon src]# git clone https://github.com/cuber/ngx_http_google_filter_module
2、查看nginx编译安装时安装了哪些模块
[root@bogon ~]# cd /usr/local/nginx/sbin/
[root@bogon sbin]# ./nginx -V
nginx version: nginx/1.13.3
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-pcre --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --add-module=../nginx_upstream_check_module-0.3.0 --add-module=../nginx-sticky-module-ng-1.2.5
3、加入需要安装的模块,重新编译。如这里添加–add-module=/data/software/ngx_http_google_filter_module
[root@bogon nginx-1.13.3]# ./configure --prefix=/usr/local/nginx
--with-pcre
--with-http_stub_status_module
--with-http_ssl_module
--with-http_gzip_static_module
--with-http_realip_module
--add-module=../nginx_upstream_check_module-0.3.0
--add-module=../nginx-sticky-module-ng-1.2.5
--add-module=../ngx_http_google_filter_module
注意:千万不要make install,不然就真的覆盖了。
4、替换nginx二进制文件
[root@bogon nginx-1.13.3]# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
[root@bogon nginx-1.13.3]# cp ./objs/nginx /usr/local/nginx/sbin/