前端開發(fā)用得著的nginx配置(場(chǎng)景)
前端的工作過程里,本地開發(fā)、提供測(cè)試環(huán)境,總得有個(gè)用著順手的服務(wù)器軟件,這個(gè)場(chǎng)景里nginx很流行。
介紹兩個(gè)好用的配置項(xiàng):rewrite try_files @xxxx
rewrite
比較常見,主要用于將帶版本號(hào)的靜態(tài)文件路徑替換成本地文件路徑
例如人人網(wǎng)發(fā)布文件路徑里面包含一個(gè)a0000的版本號(hào),通過下面這句配置就能將http://xnimg.cn/a0001/js/base.js換成http://xnimg.cn/js/base.js直接影射到本地目錄結(jié)構(gòu)中。
rewrite "^/a?([0-9]+)/(.*)" /$2 last;
try_files
嘗試在本地的多個(gè)路徑中查找需要的文件,如果依然沒找到才會(huì)返回404。下面配合@xxx配置實(shí)現(xiàn)一個(gè)更方便的功能。
location @xxx
這樣定義了一個(gè)可以供其他配置調(diào)用的“請(qǐng)求處理方法”(handler),結(jié)合try_files如果本地沒找到自動(dòng)去線上取回指定文件。
if ( $document_uri ~*"^/[ab]?([0-9]+)/(.*)"){ set $no_version_path /$2; } location / { try_files $document_uri $no_version_path =404; error_page 404 = @online; log_not_found off; } location @online{ proxy_pass http://$host:80/$request_uri }
第一個(gè)if語句是一個(gè)匹配,把$2第二個(gè)分組值(去掉版本號(hào)的路徑)保存到變量$no_version_path;
try_files的順序:有版本號(hào)的路徑、沒有版本號(hào)的路徑、如果404 調(diào)用@online;
@online中用$host,$request_uri這兩個(gè)nginx變量拼出請(qǐng)求的文件路徑直接代理請(qǐng)求到線上。
這樣配置的服務(wù)器,只需要在本地存放你所關(guān)心的幾個(gè)靜態(tài)文件,其他不需要調(diào)試的文件全部代理到線上,省得每次花時(shí)間更新自己不關(guān)心的工程代碼。
相關(guān)文章
解決nginx配置proxy_pass之后,響應(yīng)變慢的問題
這篇文章主要介紹了解決nginx配置proxy_pass之后,響應(yīng)變慢的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01三步配置輕量級(jí)服務(wù)器nginx小結(jié)
Nginx是一個(gè)安裝非常的簡(jiǎn)單 , 配置文件非常簡(jiǎn)潔,本文就來介紹一下三步配置輕量級(jí)服務(wù)器nginx,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08在nginx中實(shí)現(xiàn)單位時(shí)間內(nèi)限制訪問頻率的教程
這篇文章主要介紹了在nginx中實(shí)現(xiàn)單位時(shí)間內(nèi)限制訪問頻率的教程,并非針對(duì)IP而是全局的訪問量限制,需要的朋友可以參考下2015-04-04Nginx 代理轉(zhuǎn)發(fā)阿里云OSS上傳的實(shí)現(xiàn)代碼
這篇文章主要介紹了Nginx 代理轉(zhuǎn)發(fā)阿里云OSS上傳的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09Nginx代理時(shí)header頭中帶"_"信息丟失問題的解決
這篇文章主要給大家介紹了關(guān)于Nginx代理時(shí)header頭中帶"_"信息丟失問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Nginx上配置Basic Authorization登錄認(rèn)服務(wù)證的教程
現(xiàn)在我們所使用的包括社交網(wǎng)絡(luò)API等開放平臺(tái)授權(quán)獲得用戶的用戶名和密碼一般有兩種認(rèn)證方式,一種是Basic Auth,一種是OAuth,這里我們就來看一下Nginx上配置Basic Authorization登錄認(rèn)服務(wù)證的教程2016-06-06