文章目錄
- 一、原因
- 二、原理圖
- 三、Nginx靜态代理實作方式
- 方式一 :在nginx.conf的location中配置靜态資源的字尾
- 方式二 在nginx.conf的location中配置靜态資源所在目錄實作
- 四、實訓:通過nginx通路上面myweb案例中的圖檔
- 方法一
- 第一步:修改nginx.conf檔案,在location中配置對靜态資源的攔截,如果是靜态資源,就交給nginx處理,使攔截靜态檔案字尾名的方式
- 第二步:重新開機nginx
- 第三步:浏覽器通路nginx伺服器,進行測試,發現圖檔無法加載
- 第四步:浏覽器通路nginx通路器,進行測試 ,圖檔通路正常,而且通路的是nginx上的圖檔
- 方法二:
- 第一步:将nginx.conf中的location攔截方式修改為攔截靜态檔案目錄的方式
- 第二步:重新開機nginx伺服器,通過浏覽器通路nginx伺服器,進行測試,通路正常,但是通路的是tomcat伺服器下的圖檔
- 注意
一、原因
把所有靜态資源的通路改為通路nginx,而不是通路tomcat,這種方式叫靜态代理。因為nginx更擅長于靜态資源的處理,性能更好,效率更高。
是以在實際應用中,我們将靜态資源比如圖檔、css、html、js等交給nginx處理,而不是由tomcat處理
二、原理圖
三、Nginx靜态代理實作方式
方式一 :在nginx.conf的location中配置靜态資源的字尾
例如:當通路靜态資源,則從linux伺服器/opt/static目錄下擷取(舉例)
location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid
|doc|ppt|pdf|xls|mp3|wma)$ {
root /opt/static;
}
表示正則比對,也就是說後面的内容可以是正規表達式比對
第一個點 . 表示任意字元
*表示一個或多個字元
. 是轉移字元,是後面這個點的轉移字元
| 表示或者
$ 表示結尾
整個配置表示以 .後面括号裡面的這些字尾結尾的檔案都由nginx處理
放置靜态資源的目錄,要注意一下目錄權限問題,如果權限不足,給目錄賦予權限;
否則會出現403錯誤 chmod 755
方式二 在nginx.conf的location中配置靜态資源所在目錄實作
例如:當通路靜态資源,則從linux伺服器/opt/static目錄下擷取(舉例)
location ~ .*/(css|js|img|images) {
root /opt/static;
}
xxx/css
xxx/js
xxx/img
xxx/images
我們将靜态資源放入 /opt/static 目錄下,然後使用者通路時由nginx傳回這些靜态資源
四、實訓:通過nginx通路上面myweb案例中的圖檔
方法一
第一步:修改nginx.conf檔案,在location中配置對靜态資源的攔截,如果是靜态資源,就交給nginx處理,使攔截靜态檔案字尾名的方式
第二步:重新開機nginx
第三步:浏覽器通路nginx伺服器,進行測試,發現圖檔無法加載
右鍵圖檔,檢視圖檔的位址為http://192.168.235.128/myweb/image/001.jpg,因為我們在nginx中配置了對.jpg的攔截,是以請求會交給nginx伺服器進行處理。根據ip + port等于root的原則,我們會去/opt/static/myweb目錄下找資源,是以在/opt/static下建立myweb目錄,并放入image目錄及圖檔,為了和tomcat上的圖檔區分,我們這裡圖檔的内容發生了變化