1. 程式人生 > >nginx的動靜分離

nginx的動靜分離

動靜分離
Nginx 動靜分離簡單來說就是把動態跟靜態請求分開,不能理解成只是單純的把動態頁面和靜態頁面物理分離。嚴格意義上說應該是動態請求跟靜態請求分開,可以理解成使用Nginx 處理靜態頁面,Tomcat、 Resin 出來動態頁面

nginx location的正則法則:

~ 為區分大小寫的匹配
~* 不區分大小寫的匹配(匹配firefox的正則同時匹配FireFox)。
!~ 不匹配的
!~* 不匹配的

location 匹配的優先順序(與location在配置檔案中的順序無關)
= 精確匹配會第一個被處理。如果發現精確匹配,nginx停止搜尋其他匹配。
普通字元匹配,正則表示式規則和長的塊規則將被優先和查詢匹配,也就是說如果該項匹配還需去看有沒有正則表示式匹配和更長的匹配。
^~ 則只匹配該規則,nginx停止搜尋其他匹配,否則nginx會繼續處理其他location指令。
最後匹配理帶有"“和”

*"的指令,如果找到相應的匹配,則nginx停止搜尋其他匹配;當沒有正則表示式或者沒有正則表示式被匹配的情況下,那麼匹配程度最高的逐字匹配指令會被使用。

nginx.conf檔案配置

 #這裡是正則驗證,所有特定的字尾名都會進入
 location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
        {   
        root html
        index  index.html index.htm;
        }  

解釋
將所有指定的靜態檔案,圖片,js,css…都存放在/usr/local/nginx/html裡面,路徑進入上面的location裡面會直接進入/usr/local/nginx/html尋找要找的檔案。
尋找檔案是根據root來指定的,可以更改,不過存放的檔案位置必須和root指定的路徑是一致的。
這樣就實現了動態檔案和靜態檔案分離,當尋找靜態檔案時直接在nginx裡尋找而不用在tomcat等伺服器尋找,減少伺服器的壓力。
在這裡插入圖片描述


在這裡插入圖片描述