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