nginx安裝插件兩步走

nginx的更新與安裝插件是需要 configure 這個配置文件的,否則沒法更新.
而configure這個文件只有從 http://nginx.org/ 官網上下載的linux版nginx源碼中才會有,如果當前linux服務器上沒有configure那麼就無法更新
有時你會發現在linux上的nginx沒有configure,此時要麼是通過yum 安裝要麼還是通過編譯nginx源碼只是,他這個源碼是通過在其他環境編譯完成之後把nginx可運行的二進制文件和一些配置文件等丟到服務器上.
其中第二步的一些特性尤其重要,同時這裏也是最坑的地方

更新步驟:
一: 切換到nginx可執行文件目錄下,例如 nginx所在目錄爲 /usr/local/nginx
那麼當前nginx可執行文件通常就在 /usr/local/nginx/sbin/nginx

cd /usr/local/nginx/sbin/nginx

然後鍵入 nginx -V 命令, 將該命令回顯出的信息copy下來,一會更新的時候需要在當前配置信息的基礎上添加你需要安裝的新插件信息

nginx -V

ps: 更新一定要nginx原本配置信息的基礎上更新,否則你就會發現nginx中原本安裝的插件不見了

二,使用 configure命令(也就是前文提到的configure可執行文件) 將之前的nginx -V 命令回顯出的配置原封不動的copy 到 ./configure 命令後面
然後添加上你需要新增的插件
假如當前nginx是默認配置安裝,即在安裝是沒有指定任何參數
那麼此時新增nginx的 sub_filter 插件 此時代碼如下

./configure --prefix=/usr/local/nginx/nginx-1.16.1 --with-http_sub_module --add-module=/usr/local/nginx/ngx_http_substitutions_filter_module 

其中
–prefix 指定的是當前nginx的安裝路徑 即conf的上一級目錄
–with 告訴nginx此次要擴展的功能是哪個模塊
–add 代表這次插件的本地路徑,(插件需要從網上下載上傳至nginx編譯服務器上)
其中 如果你只指定 --add 那麼就只是給nginx添加插件的代碼,但是nginx無法識別當前功能, 如果只指定 --with 那麼當前nginx可以識別出當前功能,但是缺少相應的程序代碼, 所以二者必須同時指定

三 使用make 命令 將剛纔配置好的 configure編譯,編譯完成之後會在 objs 目錄下生產nginx 二進制可運行文件,替換掉sbin下面的nginx

make
cp -R /usr/local/nginx/sbin/nginx/objs/nginx  /usr/local/nginx/sbin/nginx/sbin

ps: 如果在更新之前不確認是否缺少必要依賴 那麼可以聯網之後使用下面的命令補全必要依賴 例如 gcc之類的

yum -y install zip unzip gcc gcc-c++ automake autoconf libtool make glibc gd-devel pcre-devel libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel libevent libevent-devel
 yum install pcre*
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章