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