nginx 配置備忘

2021-09-02 12:21:13 字數 889 閱讀 1540

nginx

大家都知道, 但是很多人能了解到常用的location指令的優先級別是怎麼樣的,這個也許知道的人就不多了吧. 先前記得有個國人說過乙個nginx的「bug」(), 就是關於location配置不當造成的, 這其實並不是nginx的bug, 而是運維

人員的對nginx配置location優先級別理解不很透徹造成的.

nginx官方已經指明了location指令說明:

syntax:  location [ = | ~ | ~* | ^~ ] uri 

location @name

default: —

context: server, location

讓我們先來理解下, nginx 規則處理請求是在對路徑匹配在uri規範化以後進行. 所謂規範化, 就是先將uri中形如「%xx」的編碼字元進行解碼, 再解析uri中的相對路徑「.」和「..」部分, 另外還可能會壓縮相鄰的兩個或多個斜線成為乙個斜線:

= 開頭表示精確匹配, 必須完全吻合才會執行;

^~ 開頭表示uri以某個常規字串開頭,理解為匹配 url 路徑即可, 如果最大字首匹配的路徑以「^~」開始,那麼nginx不再檢查正規表示式. nginx不對url做編碼,因此請求為/assets/20%/css.css,可以被規則^~ /assets/ /css.css匹配到(注意是空格);

~ 開頭表示區分大小寫的正則匹配;

~* 開頭表示不區分大小寫的正則匹配, 與~相反是大小寫同等對待的;

/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到.

優先級別基本可以這麼認為:

(location =) > (location 完整路徑) > (location ^~ 路徑) > (location ~* 正則) > (location 路徑) > (/)

Nginx安裝配置備忘

vi usr local nginx conf nginx.conf user www data www data nginx預設的根目錄是 var www。如果沒有這個目錄,必須建立乙個 並且設定目錄所有者和使用者組,以確保有權訪問 mkdir var www chown www data www...

LSE配置備忘

通過摸索,總結出lse liberty sim envi 編譯視覺化執行的一中方法。本文是用lse自帶的ia64的例子來做的。首先我是使用標準的ls build ls link來做,build可以通過,但link階段報告visualizer相關的函式找不到。注釋所有visualizer相關的函式後l...

mediawiki 配置備忘

新增檔案上傳功能 在 localsettings.php 中 wgenableuploads true 允許上傳 wguploadpath wgscriptpath uploads 預設為 wgscriptpath images 請確保目錄可寫 wguploaddirectory ip upload...