Nginx动态添加模块

前言

有时候要使用已安装好的Nginx的功能时,突然发现缺少了对应模块,故需对其进行动态添加模块。

操作

# 查看已安装模块

[root@kazihuo ~]# nginx -V

nginx version: nginx/1.12.1

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

built with OpenSSL 1.0.2k-fips 26 Jan 2017

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --prefix=/usr/local/nginx-1.12.1/

# 停止服务

[root@kazihuo ~]# pkill nginx

# 重新编译(红色内容是添加模块)

# 进入到第一次部署Nginx的编译目录,即Nginx的包解压后的目录下

[root@kazihuo ~]# cd /kzh/pkg/nginx-1.12.1

[root@kazihuo ~]#./configure --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_modul --with-stream --with-stream_ssl_module --prefix=/usr/local/nginx-1.12.1/

[root@kazihuo /kzh/pkg/nginx-1.12.1]# make

# make完后千万不要make install,否则将覆盖原有!

# 替换二进制文件

[root@kazihuo /kzh/pkg/nginx-1.12.1]# mv /usr/local/nginx-1.12.1/sbin/nginx /usr/local/nginx-1.12.1/sbin/nginx.bak

[root@kazihuo /kzh/pkg/nginx-1.12.1]# cp objs/nginx /usr/local/nginx-1.12.1/sbin/nginx

# 启动并查看

[root@kazihuo ~]# nginx

[root@kazihuo ~]# nginx -V

nginx version: nginx/1.12.1

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

built with OpenSSL 1.0.2k-fips 26 Jan 2017

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-stream --with-stream_ssl_module --prefix=/usr/local/nginx-1.12.1/

说明

若需要添加的是第三方模块,可先下载模块,并在重新编译时带--add-module参数即可。

# cd /tmp

# git clone https://github.com/cuber/ngx_http_google_filter_module

# ./configure --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_modul --with-stream --with-stream_ssl_module --prefix=/usr/local/nginx-1.12.1/ --add-module=/tmp/ngx_http_google_filter_module

你可能感兴趣的:(Nginx动态添加模块)