URL看起來更規(guī)范,合理
企業(yè)會將動態(tài)URL地址偽裝成靜態(tài)地址提供服務(wù)
網(wǎng)址換新域名后,讓舊的訪問跳轉(zhuǎn)到新的域名上
服務(wù)端某些業(yè)務(wù)調(diào)整
1、Nginx跳轉(zhuǎn)需求的實現(xiàn)方式
使用rewrite進行匹配跳轉(zhuǎn)
使用if匹配全局變量后跳轉(zhuǎn)
使用location匹配再跳轉(zhuǎn)
2、rewrite放在server{},if{},location{}段中
3、對域名或參數(shù)字符串
使用if全局變量匹配
使用proxy_pass反向代理
語法:
rewrite <regex> <replacement> [flag];
正則 跳轉(zhuǎn)后的內(nèi)容 rewrite支持的flag標(biāo)記
flag標(biāo)記說明:
last和break比較:
分類:
location = patt {} [精準(zhǔn)匹配]
location patt {} [一般匹配]
location ~ patt {} [正則匹配]
正則匹配的常用表達式:
**相同類型的表達式,字符創(chuàng)長的會優(yōu)先匹配**
**按優(yōu)先級排列**
= 類型
^~ 類型表達式
正則表達式(~和~*)類型
常規(guī)字符串匹配類型,按前綴匹配
通常匹配(/),如果沒有其他匹配,任何請求都會匹配到
**相同點**
都能實現(xiàn)跳轉(zhuǎn)
**不同點**
rewrite是在同一域名內(nèi)更改獲取資源的路徑
location是對一類路徑做控制訪問或方向代理,還可以proxy_pass到其他機器
**rewrite會寫在location里執(zhí)行順序**
執(zhí)行server塊里面的rewrite指令
執(zhí)行l(wèi)ocation匹配
執(zhí)行選定的location中的rewrite指令
##精確匹配/,主機名后面不能帶任何字符串
location = / {
[ configuration A ]
}
##所有的地址都以/開頭,這條規(guī)則將匹配到所有請求,但正則和最長字符串會優(yōu)先匹配
location / {
[ configuration B ]
}
##匹配任何以/documents/開頭的地址,當(dāng)后面正則表達式?jīng)]有匹配到時,才起作用
location /documents/ {
[ configuration C ]
}
##匹配任何以/documents/abc開頭的地址,當(dāng)后面正則表達式?jīng)]有匹配到時,才會起作用
location ~ /documents/abc {
[ configuration D ]
}
##以/images/開頭的地址,匹配符合后,停止往下匹配
location ^~ /images/ {
[ configuration E ]
}
##匹配所有以gif結(jié)尾的請求,/images/下的圖片會被[configuration E]處理,因為^~的優(yōu)先級更高
location ~* \.(gif|jpg|jpeg)$ {
[ configuration F ]
}
##最長字符匹配到/images/abc,優(yōu)先級最低
location /images/abc {
[ configuration G ]
}
##以/images/abc開頭的,優(yōu)先級次之
location ~ /images/abc {
[ configuration H ]
}
##如果和正則~/images/abc/1.html相比,正則優(yōu)先級更高
location /images/abc/1.html {
[ configuration I ]
}
匹配某個具體文件:
(location = 完整路徑)>(location ^~完整路徑)>(location ~完整路徑)>(location ~完整路徑)>(location 完整路徑)>(location /)
用目錄做匹配訪問某個文件:
(location = 目錄)>(location ^~目錄/)>(location ~ 目錄)>(location ~ 目錄)>(location 目錄)>(location /)
Nginx 由內(nèi)核和模塊組成。
? Nginx 本身做的工作實際很少,當(dāng)它接到一個 HTTP 請求時, 它僅僅是通過查找配置文件將此次請求映射到一個 location block,而此 location 中所配 置的各個指令則會啟動不同的模塊去完成工作,因此模塊可以看做 Nginx 真正的勞動工作者。
? 通常一個 location 中的指令會涉及一個 handler 模塊和多個 filter 模塊(當(dāng)然,多個 location 可以復(fù)用同一個模塊)。handler 模塊負(fù)責(zé)處理請求,完成響應(yīng)內(nèi)容的生成,而 filter 模塊對響應(yīng)內(nèi)容進行處理。 用戶根據(jù)自己的需要所開發(fā)的模塊都屬于第三方模塊。正是有了這么多模塊的支撐, Nginx 的功能才會如此強大。
Nginx 的模塊從結(jié)構(gòu)上分為核心模塊、基礎(chǔ)模塊和第三方模塊:
核心模塊:HTTP 模塊、EVENT 模塊和 MAIL 模塊;
基礎(chǔ)模塊:HTTP Access 模塊、HTTP FastCGI 模塊、HTTP Proxy 模塊和 HTTP Rewrite 模塊;
第三方模塊:HTTP Upstream Request Hash 模塊、Notice 模塊和 HTTP Access Key 模 塊。
Nginx 的模塊從功能上分為如下三類:
? Handlers(處理器模塊):此類模塊直接處理請求,并進行輸出內(nèi)容和修改 headers 信息等操作。Handlers 處理器模塊一般只能有一個; Filters(過濾器模塊):此類模塊主要對其他處理器模塊輸出的內(nèi)容進行修改操作,最后由 Nginx 輸出; Proxies(代理類模塊):此類模塊是 Nginx 的 HTTP Upstream 之類的模塊,這些模塊主要與后端一些服務(wù)比如 FastCGI 等進行交互,實現(xiàn)服務(wù)代理和負(fù)載均衡等功能。
? 在單工作進程模式下,除主進程外,還有一個工作進程,工作進程是單線程的;
? 在多工作進程模式下,每個工作進程包含多個線程。Nginx 默認(rèn)為單工作進程模式。
? Nginx 在啟動后,會有一個 master 進程和多個 worker 進程。
? master 進程主要用來管理 worker 進程,主要包含:接收來自外界的信號,向各 worker 進程發(fā)送信號,監(jiān)控 worker 進程的運行狀態(tài),當(dāng) worker 進程退出后(異常情況下),會自動 重新啟動新的 worker 進程。 master 進程充當(dāng)整個進程組與用戶的交互接口,同時對進程進行監(jiān)護。它不需要處理網(wǎng)絡(luò)事件,不負(fù)責(zé)業(yè)務(wù)的執(zhí)行,只會通過管理worker 進程來實現(xiàn)重啟服務(wù)、平滑升級、更換日志文件、配置文件實時生效等功能。
Nginx 不支持對外部程序的直接調(diào)用或者解析,所有的外部程序(包括 PHP)必須通過FastCGI 接口來調(diào)用。FastCGI 接口在 Linux 下是 socket(這個 socket 可以是文件 socket, 也可以是 ip socket)。 wrapper 為了調(diào)用 CGI 程序,還需要一個 FastCGI 的 wrapper(wrapper 可以理解為用于啟動另一個程序的程序),這個 wrapper 綁定在某個固定 socket 上,如端口或者文件 socket。當(dāng) Nginx 將 CGI 請求發(fā)送給這個 socket 的時候,通過 FastCGI 接口,wrapper 接收到請求,然后 Fork(派生)出一個新的線程,這個線程調(diào)用解釋器或者外部程序處理腳本并讀取返回數(shù)據(jù);接著 wrapper 再將返回的數(shù)據(jù)通過 FastCGI 接口,沿著固定的 socket傳遞給 Nginx;最后 Nginx 將返回的數(shù)據(jù)(html 頁面或者圖片)發(fā)送給客戶端。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)站標(biāo)題:NginxRewrite模塊(內(nèi)含Nginx模塊概述)———理論篇-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://www.rwnh.cn/article48/csjohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站營銷、商城網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容