? 上周六參加了51CTO的負(fù)載均衡的技術(shù)沙龍,主要是基于LVS的負(fù)載均衡,受益匪淺,開闊了思路,回去要好好研究一下.
???? 其實(shí)使用
web服務(wù)器自身的設(shè)置也能達(dá)到負(fù)載均衡的目的,我們公司使用的web服務(wù)器是resin,resin自生就可以進(jìn)行負(fù)載均衡設(shè)置,但是只有professional版本才支持,這個(gè)東西的license一個(gè)CPU要$500,所以實(shí)際使用的
apache+resin的組合(免費(fèi)嘛:)),由于公司的系統(tǒng)只有運(yùn)營商和CP會登錄訪問,并發(fā)壓力并不大,使用負(fù)載均衡主要是為了防止系統(tǒng)死掉后無法登錄,所以這樣的設(shè)計(jì)基本夠用了。如果并發(fā)訪問量很大的話,就應(yīng)該考慮在apache前面加squid做cache、通過dns輪尋等方案了。
??? 雖然網(wǎng)上也有apache+resin進(jìn)行負(fù)載均衡設(shè)置的例子,但是由于apach和resin不同版本的配置的配置文件有一定的差距,按照網(wǎng)上的資料不一定能設(shè)置成功,下面的例子是在linux環(huán)境下使用httpd-2.0.59和Resin-3.1.6進(jìn)行負(fù)載均衡設(shè)置的,如果使用其他版本請參考apache和resin官方網(wǎng)站的配置說明
??? 需要準(zhǔn)備3臺linux機(jī)器(如果是在沒有,可以先用一臺機(jī)器熟悉一下),每臺機(jī)器都要安裝apache和resin(其實(shí)1臺裝apach,另外2臺裝resin就夠用了,,之所以要全裝是為了以后的擴(kuò)展考慮),其中一臺作為前端服務(wù)器(apache),另外2臺作為后臺服務(wù)器(resin)
?
1 演示環(huán)境
192.168.11.5:前端服務(wù)器
192.168.11.111:后臺服務(wù)器
192.168.11.11:后臺服務(wù)器
?
2 安裝Apache
[root@yf3 liujt]# tar –xzvf httpd-2.0.59.tar.gz???? //解壓縮安裝文件?
[root@yf3 liujt]# cd httpd-2.0.59?? //進(jìn)入解壓縮的文件?
[root@yf3 httpd-2.0.59] # ./configure --prefix /usr/local/Apache2 -–enable-rewrite=shared --enable-speling=shared?
[root@yf3 httpd-2.0.59] # make?
[root@yf3 httpd-2.0.59] # make install
完成以上操作后,進(jìn)入/usr/local/Apache2,發(fā)現(xiàn)Apache已經(jīng)安裝完成.
3 安裝Resin
到Resin的官方網(wǎng)站可以下載
演示時(shí)使用的是Resin-3.1.6版本
和普通安裝Resin的方式有一點(diǎn)區(qū)別,Resin要聯(lián)合Apache安裝,也就是使用參數(shù)--with-Apache=/usr/local/Apache2
[root@yf3 liujt]# tar –xzvf Resin-3.1.6.tar.gz???? //解壓縮安裝文件?
[root@yf3 liujt]# cd Resin-3.1.6??//進(jìn)入解壓縮的文件?
[root@yf3 Resin-3.1.6] # ./configure --prefix=/usr/local/Resin --withapxs=/usr/local/?
Apache2/bin/apxs??
[root@yf3 Resin-3.1.6] # make?
[root@yf3 Resin-3.1.6] # make install
?
?
3 ?配置Resin
需要修改2臺后服務(wù)器的Resin的配置文件Resin.conf,路徑/usr/local/Resin/conf/Resin.conf,如果有多個(gè)Resin,均按此方式配置
[root@yf3 Resin-3.1.6] # vi /usr/local/Resin/conf/Resin.conf
3.1?配置默認(rèn)的負(fù)責(zé)均衡
找到配置文件中的,修改負(fù)載均衡配置,需要設(shè)置服務(wù)的ID、IP和port,例如192.168.11.11的設(shè)置如下
如果同一個(gè)項(xiàng)目要啟動多個(gè)服務(wù),可以配置多項(xiàng),但是要使用不同的id名稱和port,例如:
?
修改為實(shí)際需要的路徑,例如改為實(shí)際的發(fā)布路徑為/usr/local/Apache2/htdocs/test,就需要改成以下形式
DocumentRoot "/usr/local/Apache2/htdocs/test"
4.3 Directory
找到配置文件中的Directory配置
修改為實(shí)際需要的路徑,例如改為實(shí)際的發(fā)布路徑為/usr/local/Apache2/htdocs/test,就需要改成以下形式
4.4 修改DirectoryIndex
找到配置文件中的DirectoryIndex配置
DirectoryIndex index.html index.html.var
增加index.jsp。修改為:
DirectoryIndex index.jsp index.html index.html.var
4.5 ?修改Rensin相關(guān)配置
在apache的配置文件httpd.conf最后增加以下內(nèi)容