如何開(kāi)啟Nginx的兼容模塊

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

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

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

如提示如下圖1,則說(shuō)明當(dāng)前環(huán)境并沒(méi)有啟用--with-compat

Zealous-984.jpg

圖1

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


1、使用主機(jī)大師

網(wǎng)站環(huán)境使用護(hù)衛(wèi)神·主機(jī)大師:默認(rèn)開(kāi)啟--with-compat,無(wú)須再開(kāi)啟。


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

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

如下圖2

1.jpg

圖2

注:如果Nginx主配置文件中有特別的設(shè)置,請(qǐng)一定做好備份。

2.2、卸載完成后,重新安裝Nginx,選擇相應(yīng)版本,同時(shí)點(diǎn)擊“編譯安裝”,如下圖3

2.jpg

圖3

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

3.jpg

圖4

接下來(lái)就按要求填寫(xiě)信息

模塊名稱(chēng):compat(可隨意填寫(xiě))

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

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

前置腳本:無(wú)須填寫(xiě)

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

4.jpg

圖5

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

5.jpg

圖6


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

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

Zealous-1216.jpg

圖7

注:如果Nginx主配置文件中有特別的設(shè)置,請(qǐng)一定做好備份。

2.2、重新安裝Nginx,并選擇相應(yīng)版本,如下圖8

Zealous-1217.jpg

圖8

安裝方式:編譯安裝

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

Zealous-987.jpg

圖9

接下來(lái)就按要求填寫(xiě)信息

模塊名稱(chēng):compat(可隨意填寫(xiě))

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

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

前置腳本:無(wú)須填寫(xiě)

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

Zealous-988.jpg

圖10

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

Zealous-989.jpg

圖11


4、使用其他方式

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

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

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

!#/usr/bin/env bash

# 創(chuàng)建臨時(shí)目錄
mkdir -p /tmp/nginx;TEMP=/tmp/nginx;cd ${TEMP}
# 獲取nginx主進(jìn)程的PID
NGINXPID=$(ps aux | grep 'nginx' | grep 'master'|awk '{print $2}')
# 獲取nginx可執(zhí)行文件的位置(絕對(duì)路徑)
NGINXPATH=$(readlink /proc/${NGINXPID}/exe)
# 獲取nginx 的版本號(hào)
NGINXVER=$(${NGINXPATH} -v 2>&1 | awk -F'/' '{print $NF}')
# 獲取nginx的編譯參數(shù)
NGINXARG=$(${NGINXPATH} -V 2>&1 | grep 'prefix' | awk -F':' '{print $2}')
# 下載對(duì)應(yīng)版本的源碼、解壓并進(jìn)入源碼目錄
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


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

上一篇:“內(nèi)核異常”怎么解決?