Nginx 和 IIS 實現動靜分離


  前段時間,搞Nginx+IIS的負載均衡,想了解的朋友,可以看這篇文章:《nginx 和 IIS 實現負載均衡》,然后也就順便研究了Nginx + IIS 實現動靜分離。所以,一起總結出來,與大家共同探討。

 

  動靜分離,說白了,就是將網站靜態資源(HTML,JavaScript,CSS,img等文件)與后台應用分開部署,提高用戶訪問靜態代碼的速度,降低對后台應用服務器的請求。后台應用服務器只負責動態數據請求。

    優勢:分擔負載,減輕web服務器的壓力,適用於大負載。

       靜態資源放置cdn,同時還可以通過配置緩存到客戶瀏覽器中,這樣極大減輕web服務器的壓力。

    劣勢:網絡環境不佳時,ajax回應很慢,導致頁面出現空白,出錯處理會不好看。

       不利於網站SEO(搜索引擎優化) ,

       增加了開發復雜度。

 

  實現方案:動靜分離的一種做法是將靜態資源部署在nginx上,后台項目部署到Web應用服務器上,根據一定規則靜態資源的請求全部請求nginx服務器,達到動靜分離的目的。

       

 

  配置

    1. 在location / {}  上方添加 , nginx 的其他配置,請參考前一篇文章《nginx 和 IIS 實現負載均衡》

 #靜態資源緩存設置 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { root static; #static文件夾在Nginx目錄下沒有,需創建,和conf文件夾同級 expires 30d; } location ~ .*\.(js|css)?$ { root static; expires 30d; } 

    

    效果如下:

     

 

    2. 在Nginx 下 創建 static 目錄,將圖片,js, css 等文件 拷貝到該目錄下

      注意:最好,網站的原來靜態文件目錄最好還是保留,我的測試網站是asp.net mvc 刪掉相關目錄,網站啟動會提示找不到相關目錄,

 

 

  保存,重啟Nginx,訪問http://localhost:10089,

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM