亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Nginx 學習總結(jié)(3)—— Location 模塊

biaoxiaoduan / 3716人閱讀

摘要:改為后,顯示出文件的大概大小,單位是或者或者默認為,顯示的文件時間為時間。

這是 Nginx 學習總結(jié)的第三篇,上一篇介紹到了 Nginx 學習總結(jié)(2) —— 基本配置,這一篇會對Location 模塊 做一些總結(jié)。我們知道,Location 模塊 主要是用于針對某些特定的 URL 進行配置,可以由前綴字符串定義,也可以由正則表達式定義。

Location 匹配規(guī)則
location = /test.png {
    # 精確匹配
    [ configuration A ] 
}

location / {
    # 通用匹配,但是正則表達式和最長字符串會優(yōu)先被匹配
    [ configuration B ] 
}

location /documents/ {
    # 前綴字符串匹配
    # 匹配任何以 /documents/ 開頭的請求
    # 只有后面的正則表達式?jīng)]有匹配到時,該配置才會被采用
    [ configuration C ] 
}

location ^~ /images/ {
    # 前綴字符串匹配
    # 匹配任何以 /images/ 開頭的請求,匹配成功以后,會停止搜索后面的正則表達式匹配
    [ configuration D ] 
}

location ~* .(gif|jpg|jpeg)$ {
    # 正則表達式匹配,匹配所有以 gif,jpg,jpeg 結(jié)尾的請求
    # 然而,所有請求 /images/ 下的圖片會被 configuration D 處理,因為 ^~ 指令,匹配不到這一條規(guī)則
    [ configuration E ] 
}

location /images/abc/ {
    # 前綴字符串匹配
    # 只有去掉 configuration D 才能被匹配到
    [ configuration F ] 
}

= 精確匹配;

^~ 提高前綴字符串的匹配優(yōu)先級;

~ 區(qū)分大小寫的正則表達式匹配;

~* 不區(qū)分大小寫的正則表達式匹配;

/ 通用匹配(因為所有的地址都以 / 開頭,所以這條規(guī)則將匹配到所有請求),如果沒有其它匹配,任何請求都會匹配到。

默認情況, Nginx 先進行前綴字符串匹配,然后進行正則表達式匹配:如果前綴字符串匹配到了,并且前綴字符串有^~ ,就不繼續(xù)往下匹配正則表達式;如果沒有這個^~ ,即使前綴匹配到了,也要進行正則表則式匹配,如果正則表達式匹配到了,就是用正則表達式的,沒有就是用前綴字符串匹配到的路徑。總結(jié)如下:

匹配優(yōu)先級:精確匹配 >(^~) > 正則匹配 > 字符串(長 > 短)
Location 配置應(yīng)用
1. 常用使用規(guī)則
# 第一個必選規(guī)則
# 直接匹配網(wǎng)站根目錄,通過域名訪問網(wǎng)站首頁比較頻繁,使用這個會加速處理,比如官網(wǎng)首頁
location = / {
    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;
}

# 第二個必選規(guī)則
# 處理靜態(tài)文件請求,有兩種配置模式,目錄匹配或后綴匹配,任選其一或搭配使用
location ~* .(gif|jpg|jpeg|png|css|js|ico)$ {
    expires 7d; # 用來設(shè)置 HTTP 應(yīng)答中的 Expires 和 Cache-Control 的頭標時間,來告訴瀏覽器訪問這個靜態(tài)文件時,不用再去請求服務(wù)器,直接從本地緩存讀取就可以了
}
location ^~ /public/ {
    root /usr/share/nginx/html/laravel/public;
    expires 7d;
}

# 第三個必選規(guī)則
# 用來轉(zhuǎn)發(fā)動態(tài)請求到后端應(yīng)用服務(wù)器
location / {
    root   /usr/share/nginx/html;
    index  index.php index.html index.htm;
}
2. 配置臨時跳轉(zhuǎn)

有時,需要將原來的 URL 請求跳轉(zhuǎn)到新的 URL 鏈接,但又不想使原來的 URL 失效,比如訪問 http://jochen.com/test 時,需要跳轉(zhuǎn)到 http://jochen.com/ ,此時可以配置一個跳轉(zhuǎn):

location = /test/ {
    return 302 http://jochen.com/;
}
3. 配置訪問控制

有時,我們需要對訪問做一些限制。比如,Nginx 的 ngx_http_stub_status_module 模塊(該模塊不是默認安裝的,可以使用 --with-http_stub_status_module 編譯安裝)提供了查看 Nginx 運行的基本狀態(tài)信息,我們只想讓部分 IP 的人可以查看,此時可以配置一個訪問控制:

location /nginx-status {
    # 在1.7.5版本之前,使用 stub_status on; 指令
    stub_status; 
    
    allow 127.0.0.1;
    allow 192.168.4.220;
    deny all;
}
4. 列出目錄

Nginx 默認是不允許列出整個目錄的。如需此功能,我們可以通過一下配置開啟:

location / {
    root   /usr/share/nginx/html;
    autoindex on;             # 開啟目錄自動索引
    autoindex_exact_size off; # 默認為on,顯示出文件的確切大小,單位是bytes。改為off后,顯示出文件的大概大小,單位是kB或者MB或者GB
    autoindex_localtime on;   # 默認為off,顯示的文件時間為GMT時間。改為on后,顯示的文件時間為文件的服務(wù)器時間
}

參考文章

nginx 服務(wù)器安裝及配置文件詳解

前端工程師學習 Nginx 入門篇

Module ngx_http_stub_status_module

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/39851.html

相關(guān)文章

  • Nginx 學習總結(jié)(4)—— Rewrite 模塊

    摘要:根據(jù)官方文檔說明,模塊是用于使用正則表達式更改請求,有條件地選擇配置,并返回重定向。指令停止執(zhí)行模塊的指令集,但是其他模塊指令不受影響??梢允褂脴酥緛斫K止指令的進一步處理。 這是 Nginx 學習總結(jié)的第四篇,上一篇介紹到了 Nginx 學習總結(jié)(3) —— Location 模塊,這一篇會對Rewrite模塊 做一些總結(jié)。根據(jù)官方文檔說明,Rewrite 模塊是用于使用 PCRE 正...

    zhjx922 評論0 收藏0
  • Nginx 學習總結(jié)(2) —— 基本配置

    摘要:配置信息主要分為六大部分全局設(shè)置事件設(shè)置服務(wù)器設(shè)置虛擬主機設(shè)置匹配設(shè)置反向代理設(shè)置。最大客戶端連接數(shù)由和決定作為服務(wù)器時,作為反向代理時,。參考文章服務(wù)器安裝及配置文件詳解的配置虛擬主機負載均衡和反向代理 這是 Nginx 學習總結(jié)的第二篇,上一篇介紹到了 Nginx 學習總結(jié)(1) —— 概述,這一篇會對 Nginx 的基本配置做一些總結(jié)。 Nginx 配置信息主要分為六大部分: m...

    leoperfect 評論0 收藏0
  • Nginx 學習總結(jié)(6) —— 負載均衡

    摘要:實現(xiàn)負載均衡負載均衡是反向代理技術(shù)的一種運用。而實現(xiàn)負載均衡的核心在于如何將請求合理地分配給不同的后端服務(wù)器。 這是 Nginx 學習總結(jié)的第六篇,上一篇介紹到了 Nginx 學習總結(jié)(5) —— 反向代理,本文主要演示結(jié)合 proxy 和 upstream 模塊的使用來實現(xiàn) Nginx 的負載均衡。 Nginx 官網(wǎng)中對 upstream 模塊的介紹:ngx_http_upstrea...

    wwq0327 評論0 收藏0
  • Nginx 學習總結(jié)(5) —— 反向代理

    摘要:代理請求當代理請求時,它會將請求發(fā)送到指定的代理服務(wù)器,獲取響應(yīng)并將其發(fā)送回客戶端。是否啟用緩沖使用指令,默認是開啟的。 這是 Nginx 學習總結(jié)的第五篇,上一篇介紹到了 Nginx 學習總結(jié)(4)—— Rewrite 模塊,這一篇會對 反向代理 相關(guān)知識做一些總結(jié)。 什么是代理?代理通常用于在多個服務(wù)器之間分配負載,無縫地顯示來自不同網(wǎng)站的內(nèi)容,或通過除 HTTP 以外的協(xié)議將請求...

    Achilles 評論0 收藏0
  • Nginx源碼分析】Nginx配置文件解析(一)

    摘要:本文將從源碼從此深入分析配置文件的解析,配置存儲,與配置查找。在學習配置文件的解析過程之前,需要先了解一下模塊與指令的一些基本知識。 運營研發(fā)團隊 李樂 配置文件是nginx的基礎(chǔ),對于學習nginx源碼甚至開發(fā)nginx模塊的同學來說更是必須深究。本文將從源碼從此深入分析nginx配置文件的解析,配置存儲,與配置查找。 看本文之前讀者可以先思考兩個問題: 1.nginx源碼中隨處可以...

    JasonZhang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<