資源描述:
《利用nginx實現(xiàn)網(wǎng)站負(fù)載均衡》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、利用Nginx實現(xiàn)網(wǎng)站負(fù)載均衡1引言 隨著Internet規(guī)模的不斷擴大,各類X站服務(wù)器數(shù)量不斷增加,訪問者希望獲得不間斷可用性及較快的系統(tǒng)反應(yīng)時間,而不愿屢次看到某個站點"ServerTooBusy"及頻繁的系統(tǒ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ù)量的需求。于是,負(fù)載均衡機制應(yīng)運而
2、生。 負(fù)載均衡有兩方面的含義:①大量的并發(fā)訪問或數(shù)據(jù)流量分擔(dān)到多臺節(jié)點設(shè)備上分別處理,減少用戶等待響應(yīng)的時間;②單個重負(fù)載的運算分擔(dān)到多臺節(jié)點設(shè)備上做并行處理,每個節(jié)點設(shè)備處理結(jié)束后,將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提高?! ≡S多高校的各類X站服務(wù)器目前也正面臨著同樣的問題,急需采用負(fù)載均衡技術(shù),滿足不斷增長的訪問需求。 目前,負(fù)載均衡的實現(xiàn)分為硬件和軟件兩大類。主要硬件品牌有F5、Radware、Array、A10、深信服等;軟件主要有Weblogic、Websphere等。其中硬件運行比較穩(wěn)定,但無論是硬件還是軟件,其價格從十幾萬到幾
3、十萬元不等,這對于高校X站的負(fù)載均衡功能要求來說,產(chǎn)品價格過于昂貴。 這時一款高性能、免費的Web和反向代理服務(wù)器軟件Nginx出現(xiàn)在我們面前,它的負(fù)載均衡功能完全能夠滿足我們的要求?! 。玻危纾椋睿榻B Nginx是俄羅斯人編寫的十分輕量級的HTTP服務(wù)器,是一個高性能的HTTP和反向代理服務(wù)器,自Nginx發(fā)布以來,已經(jīng)因為它的穩(wěn)定性、豐富的功能集、示例配置文件和較低的系統(tǒng)資源消耗而聞名?! 〗刂恋剑玻埃保蹦甑?,全球約有10%的X站在使用Nginx(在前1000個流行的X站中則達(dá)到了25%),而且它的使用率還在不斷增加中?! 。危纾椋睿穑颍铮?/p>
4、Nginx的王牌功能,利用Proxy基本可以實現(xiàn)一個完整的7層負(fù)載均衡,它具有以下特色:①功能強大,性能卓越,運行穩(wěn)定;②配置簡單靈活;③能夠自動剔除工作不正常的后端服務(wù)器;④上傳文件使用異步模式;⑤支持多種分配策略,可以分配權(quán)重,分配方式靈活。 ?。常危纾椋睿鴮崿F(xiàn)負(fù)載均衡的實例 假設(shè)有2臺WindowsServer2003的服務(wù)器,一臺IP地址為192.168.2.10,另一臺IP地址為192.168.2.11。其中192.168.2.10對外提供X站訪問?! 。ǎ保┫螺dNginx的Windows版本,在192.168.2.10上解壓縮到C盤,并把目錄
5、名改為ginx?! 。ǎ玻┰冢保梗玻保叮福玻保暗姆?wù)器上,修改IIS的使用端口為8080,因為Nginx要使用80端口。 ?。ǎ常┰冢保梗玻保叮福玻保钡姆?wù)器上,在IIS上新建一個站點,使用端口為80?! 。ǎ矗┰O(shè)置好兩臺服務(wù)器的IIS后,在192.168.2.10的服務(wù)器上,配置Nginx軟件來實現(xiàn)X站負(fù)載均衡。打開文件“C:\nginx\conf\nginx.conf”,進(jìn)行如下操作: ?、僭诶锩婕尤肴缦聝?nèi)容: upstreamtest.com{ ?。螅澹颍觯澹颍保梗玻保叮福玻保埃海福埃福?; ?。螅澹颍觯澹颍保梗玻保叮福玻保保?/p>
6、80; ?。 、谡业健埃螅澹颍觯澹颍表棧褍?nèi)容更改如下: ?。螅澹颍觯澹颍 。欤椋螅簦澹睿福埃弧 。螅澹颍觯澹颍撸睿幔恚澹保梗玻保叮福玻保?;(監(jiān)聽訪服務(wù)器80端口的請求) ?。欤铮悖幔簦椋铮睿 。穑颍铮撸穑幔螅螅瑁簦簦穑海簦澹螅簦悖铮?; proxy_redirectdefault; ?。ǎ担┡渲猛瓿桑M(jìn)入命令提示符窗口,輸入C:\nginx\nginx命令,啟動Nginx。如果要停止Nginx,進(jìn)入運行窗口,輸入nginx-sstop命令即可?! 。ǎ叮┬Ч麥y試。可以在192.168.2.10和192.168.2.11的IIS
7、站點主目錄下,放置兩個不同內(nèi)容的主頁,然后用瀏覽器訪問http://192.168.2.10,然后再刷新頁面,兩次打開的頁面不同,說明X站負(fù)載均衡配置成功。 如果X站訪問量非常大,可以專門用一臺服務(wù)器運行Nginx,其他服務(wù)器運行X站程序即可?! ?結(jié)束語 我校在部署了Nginx,提供了X站的負(fù)載均衡功能后,極大地緩解了訪問數(shù)據(jù)量過大對服務(wù)器的造成的影響,提高了服務(wù)器的可訪問性,保障了日常的教學(xué)工作。 ?。危纾椋睿且豢罹哂懈卟l(fā)連接數(shù)、內(nèi)存消耗少、穩(wěn)定性高的開源軟件,可以免費使用。節(jié)省了購買硬件負(fù)載均衡交換機所需要的昂貴費用。由于Nginx的這些優(yōu)點
8、,并隨著它的不斷完善,我們有理由相信Nginx將繼續(xù)以高速的增長率