Nginx獨立圖片服務器搭建教程

Nginx獨立圖片服務器搭建教程

發佈時間:2014-06-04編輯:腳本學堂
本文介紹了nginx獨立圖片服務器的搭建與配置教程,有需要的朋友參考下。

首先,爲什麼需要獨立圖片服務器

現在主流的網站都是有單獨的圖片服務器的,例如,人人網的爲rrimg,淘寶的爲taobaocdn,下面還有很多的二級域名

獨立的圖片服務器有諸多好處,其中一個就是客戶端瀏覽器對一個主機下的連接數量限制,具體的連接數目忘記了,但基本都在10以下。

關鍵原因:
瀏覽器會控制一個站點下的併發請求數量在10以下,如果對於網站有很多樣式文件、腳本文件和圖片需要加載的話,請求的過程會被阻塞,影響網站的打開速度。 

建立圖片服務器,將圖片資源放在另外一個域名下面,會在一定程度上提升網站的打開速度,這樣來說是否獨立的服務器越多越好呢?
也不盡然,解析域名並建立連接也需要很長的時間,獨立的主機多了的話,也不利於速度的提升。

圖片往往會消耗掉網站中的很多寬帶和IO資源,獨立的圖片服務器可以在寬帶和IO性能上單獨提升,便於管理和拓展。

關於網站性能方面的經驗有很多,最爲著名的就是雅虎的14條準則(http://developer.yahoo.com/performance/rules.html)。

其次,搭建獨立圖片服務器的思路是什麼?

圖片服務器的搭建思路也不難,我大概畫了一個圖,顯示的是我最近兩天搭建圖片服務器的思路。

nginx獨立服務器示意圖
(圖片服務器示意圖)

網站服務器是Apache + Tomcat,以前圖片的資源全部在tomcat的工程目錄下面,隨着圖片數量的增多,對於圖片的管理很不方便,網站的打開速度也不理想。

新的圖片服務器用Nginx作爲web server,可以參考文章:lighttpd、apachenginx的性能對比(http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html)。

所面臨的問題爲用戶上傳圖片的問題,因爲上傳的邏輯還是在原來的服務器上,因此,怎麼同步兩個服務器上的圖片是個需要解決的問題。

往網站需要一張圖片的多個尺寸來滿足不同的需求,因此想到了將用戶上傳的源圖片保存在網站服務器上,通過源圖片來生成不同尺寸的圖片通過ftp的方式保存到圖片服務器上,源圖片也相當於做了一個備份。

 java 操作ftp十分方便,這也是我選擇用ftp的方式來同步圖片的原因。

 所以,需要在圖片服務器上搭建ftp服務(
相關閱讀:

)。
 注意,red hat企業版有selinux,貌似是個安全機制,需要關掉這個才能上傳。

 圖片服務器上面搭建了tomcat容器的原因是網站需要的圖片尺寸有將近20種,沒有辦法保存每個縮略圖,因此用java來實現動態縮放圖片的功能,就是類似於 190_h100_w200.jpg 這種格式,長寬隨便換。具體的實現方法,有空再寫吧。

 因爲動態生成圖片比較耗費資源,因此用在較少訪問的頁面上,減少了縮略圖的個數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章