国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

biaoxiaoduan / 3643人閱讀

摘要:改為后,顯示出文件的大概大小,單位是或者或者默認(rèn)為,顯示的文件時(shí)間為時(shí)間。

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

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

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

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

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

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

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

= 精確匹配;

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

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

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

/ 通用匹配(因?yàn)樗械牡刂范家?/ 開頭,所以這條規(guī)則將匹配到所有請(qǐng)求),如果沒有其它匹配,任何請(qǐng)求都會(huì)匹配到。

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

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

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

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

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

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

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

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 默認(rèn)是不允許列出整個(gè)目錄的。如需此功能,我們可以通過一下配置開啟:

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

參考文章

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

前端工程師學(xué)習(xí) Nginx 入門篇

Module ngx_http_stub_status_module

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39851.html

相關(guān)文章

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

    摘要:根據(jù)官方文檔說明,模塊是用于使用正則表達(dá)式更改請(qǐng)求,有條件地選擇配置,并返回重定向。指令停止執(zhí)行模塊的指令集,但是其他模塊指令不受影響。可以使用標(biāo)志來終止指令的進(jìn)一步處理。 這是 Nginx 學(xué)習(xí)總結(jié)的第四篇,上一篇介紹到了 Nginx 學(xué)習(xí)總結(jié)(3) —— Location 模塊,這一篇會(huì)對(duì)Rewrite模塊 做一些總結(jié)。根據(jù)官方文檔說明,Rewrite 模塊是用于使用 PCRE 正...

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

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

    leoperfect 評(píng)論0 收藏0
  • Nginx 學(xué)習(xí)總結(jié)(6) —— 負(fù)載均衡

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

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

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

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

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

    JasonZhang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<