為Nginx動態新增模組的方法

2022-09-24 15:39:14 字數 1971 閱讀 2921

寫在前面

很多時候,我們根據當時的專案情況和業務需求安裝完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

檢視nginx編譯安裝時安裝了哪些模組

將命令列切換到nginx執行程式所在的目錄並輸入./nginx -v,具體如下:

[root@binghe 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 suimbfecbtwapport 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

[root@binghe 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 --w

加入需要安裝的模組,重新編譯

這裡新增 --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/

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

Nginx為已安裝nginx動態新增模組

這裡以安裝第三方ngx http google filter module模組為例 nginx的模組是需要重新編譯nginx,而不是像apache一樣配置檔案引用.so 檢視nginx編譯安裝時安裝了哪些模組 將命令列切換到nginx執行程式所在的目錄並輸入.nginx v,具體如下 可以看出編譯安...

Nginx 動態新增模組

nginx模組依賴 nginx的一些模組需要第三方支援,例如gzip模組需要zlib庫,rewrite模組需要pcre庫,ssl功能需要openssl庫。根據需求新增不同模組 例新增echo模組 詳情請看 當前nginx版本為 1.12.2,選擇echo版本為0.61 8.1.1.修改nginx.c...

Nginx 動態新增模組

這個在工作中遇到的其中乙個活生生的例子,因為nginx在編譯安裝的時候並沒有考慮太多,而且我一向的做法都是按照專案需要安裝相應的功能,盡量讓服務和應用簡潔。我一向的作風 configure prefix path to nginx?是不是夠簡潔,僅僅乙個安裝路徑。如果兄弟們覺有欠妥的話,請直接批評我...