1. 程式人生 > 實用技巧 >【Nginx】如何為已安裝的Nginx動態新增模組?看完我懂了!!

【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,具體如下:

[[email protected] 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
[[email protected] 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/

好了,今天就聊到這兒吧!別忘了點個贊,給個在看和轉發,讓更多的人看到,一起學習,一起進步!!

寫在最後

如果你覺得冰河寫的還不錯,請微信搜尋並關注「 冰河技術 」微信公眾號,跟冰河學習高併發、分散式、微服務、大資料、網際網路和雲原生技術,「 冰河技術 」微信公眾號更新了大量技術專題,每一篇技術文章乾貨滿滿!不少讀者已經通過閱讀「 冰河技術 」微信公眾號文章,吊打面試官,成功跳槽到大廠;也有不少讀者實現了技術上的飛躍,成為公司的技術骨幹!如果你也想像他們一樣提升自己的能力,實現技術能力的飛躍,進大廠,升職加薪,那就關注「 冰河技術 」微信公眾號吧,每天更新超硬核技術乾貨,讓你對如何提升技術能力不再迷茫!