如何開啟Nginx的兼容模塊

護衛(wèi)神·防入侵系統(tǒng)-網站防護采用模塊化設計,兼容當前主流的各類WebServer(中間件)。

適配:IIS、Apache、Nginx、OpenResty、Tengine

特別注意的是Nginx、OpenResty、Tengine需要開啟兼容模塊--with-compat

如提示如下圖1,則說明當前環(huán)境并沒有啟用--with-compat

Zealous-984.jpg

圖1

可通過以下方法處理,在處理前建議你備份好網站配置文件及Nginx、OpenResty、Tengine主配置文件。


1、使用主機大師

網站環(huán)境使用護衛(wèi)神·主機大師:默認開啟--with-compat,無須再開啟。


2、使用寶塔面板(V8.0.5或以上版本,如是舊版本,請查看方法3)

2.1、選擇在業(yè)務不繁忙時,登錄寶塔面板,找到“軟件商店”-”運行環(huán)境“-NGINX對應的版本-”卸載“(如是新安裝請忽略此步,直接查看2.2

如下圖2

1.jpg

圖2

注:如果Nginx主配置文件中有特別的設置,請一定做好備份。

2.2、卸載完成后,重新安裝Nginx,選擇相應版本,同時點擊“編譯安裝”,如下圖3

2.jpg

圖3

選定“添加自定義模塊”,如圖4

3.jpg

圖4

接下來就按要求填寫信息

模塊名稱:compat(可隨意填寫)

模塊描述:compat(可隨意填寫)

模塊參數(shù):--with-compat (必須填此名稱)

前置腳本:無須填寫

以上參數(shù)填寫完后點擊右下角的”提交“,如下圖5

4.jpg

圖5

勾選添加的模塊,“提交并安裝”,耐心等待安裝完成即可,如下圖6

5.jpg

圖6


3、使用寶塔面板(舊版本)

3.1、選擇在業(yè)務不繁忙時,登錄寶塔面板,找到“軟件商店”-“運行環(huán)境”-Nginx對應的版本-“卸載”,如下圖7

Zealous-1216.jpg

圖7

注:如果Nginx主配置文件中有特別的設置,請一定做好備份。

2.2、重新安裝Nginx,并選擇相應版本,如下圖8

Zealous-1217.jpg

圖8

安裝方式:編譯安裝

添加自定義模塊,如下圖9

Zealous-987.jpg

圖9

接下來就按要求填寫信息

模塊名稱:compat(可隨意填寫)

模塊描述:compat(可隨意填寫)

模塊參數(shù):--with-compat (必須填此名稱)

前置腳本:無須填寫

以上參數(shù)填寫完后點擊右下角的”提交“,如下圖10

Zealous-988.jpg

圖10

勾選模塊名稱,”提交“后,等待安裝完畢即可。如下圖11

Zealous-989.jpg

圖11


4、使用其他方式

網站環(huán)境使用其它方式安裝,如有面板管理,可聯(lián)系技術員處理,非面板管理可參考以下腳本編譯方法處理。

此方法只是重新編譯nginx可的可執(zhí)行文件及附帶的so文件,因此只需要使用新編譯好的nginx可執(zhí)行文件及so文件替換舊的即可,替換后需要重啟nginx服務。

如有疑問可聯(lián)系護衛(wèi)神官方技術幫你處理。

!#/usr/bin/env bash

# 創(chuàng)建臨時目錄
mkdir -p /tmp/nginx;TEMP=/tmp/nginx;cd ${TEMP}
# 獲取nginx主進程的PID
NGINXPID=$(ps aux | grep 'nginx' | grep 'master'|awk '{print $2}')
# 獲取nginx可執(zhí)行文件的位置(絕對路徑)
NGINXPATH=$(readlink /proc/${NGINXPID}/exe)
# 獲取nginx 的版本號
NGINXVER=$(${NGINXPATH} -v 2>&1 | awk -F'/' '{print $NF}')
# 獲取nginx的編譯參數(shù)
NGINXARG=$(${NGINXPATH} -V 2>&1 | grep 'prefix' | awk -F':' '{print $2}')
# 下載對應版本的源碼、解壓并進入源碼目錄
wget https://nginx.org/download/nginx-${NGINXVER}.tar.gz && tar -xf nginx-${NGINXVER}.tar.gz && cd nginx-${NGINXVER}
./configure ${NGINXARG} --with-compat && make
# 備份nginx可執(zhí)行文件
if ! -f ./objs/nginx;then
    echo 'Compile Error'
    exit 2
else
    cp -f ./objs/nginx ${NGINXPATH}
fi
#if ${NGINXPATH} -s reload;then
kill -HUP ${NGINXPID}
echo 'Installing Nginx Finished'
if
if ${NGINXPATH} -V 2>&1 | grep 'with-compat' | awk -F':' '{print $NF}' | awk '{print $NF}'
    echo 'With-compat Enabled'
fi


如您在操作時遇到困難可聯(lián)系護衛(wèi)神在線客服協(xié)助你解決。

上一篇:“內核異常”怎么解決?