CentOS 下重新編譯 nginx 新增模組

huxiaobai_001發表於2020-03-20

nginx安裝成功後,發現有一些其他模組沒有編譯進去,或者想額外新增一些模組,這時候就要重新編譯nginx。
首先,檢視之前編譯的一些引數,比如

centos下重新編譯nginx新增模組

首先,檢視之前編譯的一些引數,比如

centos下重新編譯nginx新增模組

可以看到之前編譯Nginx時候的執行命令 裡面包含了各種引數!可以看到之前編譯Nginx時候的執行命令 裡面包含了各種引數!

比如我現在要新增–with-http_gzip_static_module 這些模組引數,那麼我只要把這些引數新增進去然後重新編譯即可,需要注意的是原先編譯過的引數也要加進來。

./configure --prefix=/usr/local/nginx \
--add-module=/usr/local/src/ngx_http_consistent_hash-master/ \
--with-http_gzip_static_module

注意:這裡只能make 千萬別make install,否則就覆蓋安裝了

make

make完成後,在Nginx安裝原始碼目錄下會有一個objs目錄,objs目錄下就多了個nginx,這個就是新版本的程式了!
然後用objs目錄下的nginx替換之前已經安裝過的nginx。
先備份舊的sbin/nginx檔案
然後cp objs/nginx /usr/local/nginx/sbin/nginx
如果提示“cp:cannot create regular file `/usr/local/nginx/sbin/nginx’: Text file busy”則執行:

cp -rfp objs/nginx /usr/local/nginx/sbin/nginx

然後重新啟動nginx服務即可!
安裝第三方模組差不多和上邊一樣 只不過是多了哥add-module=第三方模組目錄
然後重新編譯 備份就的sbin/nginx make完之後不make install 然後用objs裡面的nginx替換sbin/nginx即可!
重新編譯的時候,記得一定要把以前編譯過的模組一同加到configure引數裡

本作品採用《CC 協議》,轉載必須註明作者和本文連結

胡軍

相關文章