Nginx配置分析 nginx 二

2021-09-12 19:21:28 字數 2269 閱讀 2436

基於網域名稱配置

在/conf/nginx.conf中新增兩個虛擬主機配置

server 

}server

}

配置host檔案,dns本地化

192.168.1.103 www.host1.com

192.168.1.103 www.host2.com

測試成功

埠配置在/conf/nginx.conf中新增兩個虛擬主機配置

server 

}server

}

配置host檔案,dns本地化

192.168.1.103 www.dengjl.com
測試成功

使用nginx中預設的格式

日誌分割思路

基於crontab定時任務,執行命令

### 備份

mv access.log access.log.bak

### 釋放原檔案控制代碼

./nginx -s reload

location語法

location [=|~|~*|^~] patt 

引數解釋:

= 開頭表示精確匹配

^~ 開頭表示uri以某個常規字串開頭,理解為匹配url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。

~ 開頭表示區分大小寫的正則匹配

~* 開頭表示不區分大小寫的正則匹配

!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配的正則

/ 通用匹配,任何請求都會匹配到。

location配置優先順序

先判斷精準匹配,如果匹配,立即返回結果並結束解析過程

然後,判斷普通命中沒如果有多個命中,記錄最長的匹配結果

再然後判斷正規表示式的解析過程,按配置裡的正規表示式順序為準,由上到下開始匹配,一旦匹配成功立即返回結果並結束解析過程。

通過上面的分析我們可以知道:

普通匹配與順序無關,因為按照匹配的長短來取匹配結果。

正則匹配與順序有關,因為是從上往下匹配。(首先匹配,取其之。結束解析過程)

這是我測試過的配置檔案

server    

# 精準匹配

location =

/jz/

# 開頭表示uri以某個常規字串開頭

location ^~/

static

/

# 開頭表示區分大小寫的正則匹配

# 開頭表示不區分大小寫的正則匹配

}

一般匹配

精準匹配

jz/jz/jz.htm

開頭表示uri以某個常規字串開頭

static/aaa/3.html

開頭表示區分大小寫的正則匹配

開頭表示不區分大小寫的正則匹配

Nginx原始碼分析 nginx的配置

nginx原始碼分析 nginx的配置 nginx都是乙個master程序來管理多個worker程序。worker程序的數量與伺服器上的cpu核心數相等。master是管理worker,接受外部訊號,worker程序之間通過共享記憶體 原子操作實現通訊和同步。任意乙個worker程序出現錯誤從而導致...

nginx 配置 案例分析

實驗環境 win7 ubuntu vmware win7 tomcat ip and por 192.168.0.108 8080 linux tomcat ip and por 192.168.110.129 8080 在ubuntu中安裝nginx sudo apt get install ng...

Nginx學習筆記二 nginx的配置

nginx在執行時,至少必須載入幾個核心模組和乙個事件類模組。這些模組執行時所支援的配置項稱為基本配置 所有其他模組執行時都需要依賴的配置。按照使用者使用時的預期功能分為四類 1.用於除錯 定位問題的配置項 2.正常執行的必備配置項 3.優化效能的配置項 4.事件類配置項 有些事件類配置項規劃到優化...