前言 nginx
有時候要使用已安裝好的Nginx的功能時,忽然發現缺乏了對應模塊,故需對其進行動態添加模塊。 git
操做 github
# 查看已安裝模塊 ui
[root@kazihuo ~]# nginx -V google
nginx version: nginx/1.12.1 spa
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ip
built with OpenSSL 1.0.2k-fips 26 Jan 2017 ssl
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/ it
# 中止服務
[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