1. 程式人生 > >Nginx 和 IIS 實現動靜分離(轉)

Nginx 和 IIS 實現動靜分離(轉)

host rar web應用 localhost nginx服務器 .net 復雜 jpeg post

轉載地址:https://www.cnblogs.com/paul8339/p/5825201.html

動靜分離,說白了,就是將網站靜態資源(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,

Nginx 和 IIS 實現動靜分離(轉)