nginx學習之模組

mpsky發表於2021-09-09

1、

stub_status模組:

用於展示nginx處理連線時的狀態。

配置語法如下:

Syntax:stub_status;
Default:預設沒有配置
Context:server、location

可以編輯default.conf,加上如下配置:

vim /etc/nginx/conf.d/default.conf

圖片描述

然後檢查配置的正確性:

#-t 表示檢查配置檔案;-c表示檢查指定的配置檔案,預設為/etc/nginx/nginx.conf
nginx -t -c /etc/nginx/nginx.conf

這裡注意了,雖然修改的是default.conf,但是檢查的時候始終還是載入nginx.conf,否則報錯:

圖片描述

因為nginx.conf中include了conf.d目錄下的所有.conf檔案。

然後重新載入配置檔案:

#-s表示給master程式傳送訊號:stop、quit、reopen、reload;-c指定配置檔案目錄
nginx -s reload -c /etc/nginx/nginx.conf

圖片描述

Active connections: 對後端發起的活動連線數;

Server accepts handled requests: Nginx總共處理了13個連線,成功建立13次握手(證明中間沒有失敗的),總共處理了7個請求;

Reading: Nginx 讀取到客戶端的Header資訊數;

Writing: Nginx 返回給客戶端的Header資訊數;

Waiting: 開啟keep-alive的情況下,這個值等於 active – (reading + writing),意思就是Nginx已經處理完成,正在等候下一次請求指令的駐留連線。

所以,在訪問效率高,請求很快被處理完畢的情況下,Waiting數比較多是正常的。如果reading +writing數較多,則說明併發訪問量非常大,正在處理過程中。

2、

random_index模組:

指定目錄中選擇一個隨機主頁。

配置語法:

Syntax:random_index on | off;
Default:random_index off;預設是關閉的
Context:location  在location下配置

在配置檔案default.conf中加random_index on;並修改很目錄為自定義的指定目錄。

圖片描述

在指定目錄裡放顯示三種顏色的html頁面:

black.html   green.html   red.html
<html>
<head>
      <meta charset="utf-8"/>
      <title>nginx-test</title>
</head>

<body style="background-color:red;">
</body>

</html>

然後reload nginx服務:

systemctl reload nginx.service

用瀏覽器訪問隨著重新整理會顯示不同顏色的頁面。值得注意的是,nginx是不會載入指定目錄下隱藏檔案的.

3、

sub_module模組:

主要用於HTTP內容替換。

語法如下:

1、
Syntax:sub_filter old_string new_string; 把old_string替換為new_string
Default:沒有配置
Context:http、server、location下配置
把old_string替換為new_string

2、
Syntax:sub_filter_last_modified on|off;
Default:sub_filter_last_modified off;
Context:http、server、location下配置
表示客戶端和服務端互動時,nginx校驗服務端內容是否有變更,主要用於快取場景。

3、
Syntax:sub_filter_once on|off;  
Default:sub_filter_once on;  
Context:http、server、location下配置
表示預設匹配字串個數;預設狀態下是匹配第一個。

在指定目錄下建一個submodule.html檔案:

<html>
<head>
       <meta charset="utf-8"/>
       <title>nginx-test</title>
</head>
<body>
       <h2>smallsoup test tomcat test tomcat </h2>
</body>
</html>

然後在default.conf中配置這個目錄為根目錄,並配置sub_filter:

圖片描述

用於把html中的tomcat修改為nginx,reload nginx後可以看到頁面:

圖片描述

但是隻修改了第一個tomcat,第二個沒有修改;如果要全部替換,需要配置:

圖片描述

圖片描述

如果遇到頁面上沒有替換的情況,可能是瀏覽器快取導致,需要強制重新整理或者清理快取後重新整理。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1806/viewspace-2823961/,如需轉載,請註明出處,否則將追究法律責任。

相關文章