劉振宇
[摘要] 目前高校各類網站的訪問量越來越高,單臺服務器已經沒有辦法承受流量壓力,這就需要增加服務器的數量,并采用負載均衡技術。本文了解了目前各類網站負載均衡的實現(xiàn)辦法,詳細介紹并采用了Nginx的負載均衡功能,對涉及此方面問題的高校起到了啟示作用。
[關鍵詞] 網站; 負載均衡; Nginx
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2012 . 16. 059
[中圖分類號]TP393[文獻標識碼]A[文章編號]1673 - 0194(2012)16- 0096- 01
1引言
隨著Internet規(guī)模的不斷擴大,各類網站服務器數量不斷增加, 訪問者希望獲得不間斷可用性及較快的系統(tǒng)反應時間,而不愿屢次看到某個站點"Server Too Busy"及頻繁的系統(tǒng)故障。
網絡的各個核心部分隨著業(yè)務量的提高、訪問量和數據流量的快速增長,其處理能力和計算強度也相應增大,使得單一設備根本無法承擔。在此情況下,如果扔掉現(xiàn)有設備去做大量的硬件升級,將造成現(xiàn)有資源的浪費,而且如果再面臨下一次業(yè)務量的提升,又將導致再一次硬件升級的高額成本投入,即使性能再卓越的設備也不能滿足當前業(yè)務量的需求。于是,負載均衡機制應運而生。
負載均衡有兩方面的含義:①大量的并發(fā)訪問或數據流量分擔到多臺節(jié)點設備上分別處理,減少用戶等待響應的時間;②單個重負載的運算分擔到多臺節(jié)點設備上做并行處理,每個節(jié)點設備處理結束后,將結果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提高。
許多高校的各類網站服務器目前也正面臨著同樣的問題,急需采用負載均衡技術,滿足不斷增長的訪問需求。
目前,負載均衡的實現(xiàn)分為硬件和軟件兩大類。主要硬件品牌有F5、Radware、Array、A10、深信服等;軟件主要有Weblogic、Websphere等。其中硬件運行比較穩(wěn)定,但無論是硬件還是軟件,其價格從十幾萬到幾十萬元不等,這對于高校網站的負載均衡功能要求來說,產品價格過于昂貴。
這時一款高性能、免費的Web和反向代理服務器軟件Nginx出現(xiàn)在我們面前,它的負載均衡功能完全能夠滿足我們的要求。
2Nginx介紹
Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,是一個高性能的HTTP和反向代理服務器,自Nginx發(fā)布以來,已經因為它的穩(wěn)定性、豐富的功能集、示例配置文件和較低的系統(tǒng)資源消耗而聞名。
截至到2011年底,全球約有10%的網站在使用Nginx(在前1 000個流行的網站中則達到了25%),而且它的使用率還在不斷增加中。
Nginx proxy是Nginx的王牌功能,利用Proxy基本可以實現(xiàn)一個完整的7層負載均衡,它具有以下特色:①功能強大,性能卓越,運行穩(wěn)定;②配置簡單靈活;③能夠自動剔除工作不正常的后端服務器;④上傳文件使用異步模式;⑤支持多種分配策略,可以分配權重,分配方式靈活。
3Nginx實現(xiàn)負載均衡的實例
假設有2臺Windows Server 2003的服務器,一臺IP地址為192.168.2.10,另一臺IP地址為192.168.2.11。其中192.168.2.10對外提供網站訪問。
(1) 下載Nginx的Windows版本,在192.168.2.10上解壓縮到C盤,并把目錄名改為ginx。
(2) 在192.168.2.10的服務器上,修改IIS的使用端口為8080,因為Nginx要使用80端口。
(3) 在192.168.2.11的服務器上,在IIS上新建一個站點,使用端口為80。
(4) 設置好兩臺服務器的IIS后,在192.168.2.10的服務器上,配置Nginx軟件來實現(xiàn)網站負載均衡。打開文件“C:\nginx\conf\nginx.conf”,進行如下操作:
① 在里面加入如下內容:
upstreamtest.com {
server 192.168.2.10:8080;
server 192.168.2.11:80;
}
②找到“server{}”項,把內容更改如下:
server {
listen 80;
server_name192.168.2.10;(監(jiān)聽訪服務器80端口的請求)
location / {
proxy_pass http://test.com;
proxy_redirect default;
(5) 配置完成,進入命令提示符窗口,輸入C:\nginx\nginx命令,啟動Nginx。如果要停止Nginx,進入運行窗口,輸入nginx -s stop命令即可。
(6) 效果測試。可以在192.168.2.10和192.168.2.11的IIS站點主目錄下,放置兩個不同內容的主頁,然后用瀏覽器訪問http://192.168.2.10,然后再刷新頁面,兩次打開的頁面不同,說明網站負載均衡配置成功。
如果網站訪問量非常大,可以專門用一臺服務器運行Nginx,其他服務器運行網站程序即可。
4結束語
我校在部署了Nginx,提供了網站的負載均衡功能后,極大地緩解了訪問數據量過大對服務器的造成的影響,提高了服務器的可訪問性,保障了日常的教學工作。
Nginx是一款具有高并發(fā)連接數、內存消耗少、穩(wěn)定性高的開源軟件,可以免費使用。節(jié)省了購買硬件負載均衡交換機所需要的昂貴費用。由于Nginx的這些優(yōu)點,并隨著它的不斷完善,我們有理由相信Nginx將繼續(xù)以高速的增長率來分享HTTP服務器市場,會有一個更美好的未來。
主要參考文獻
[1]張宴. 實戰(zhàn)Nginx:取代Apache的高性能Web服務器[M]. 北京:電子工業(yè)出版社,2010.