集群(其實(shí)談不上,不過(guò)是多部署了幾個(gè)tomcat服務(wù)器,用jk/jk2負責負載平衡,而且關(guān)于負載平衡我還不大了解,只是我不清楚該怎么稱(chēng)謂,暫且用這個(gè)怪嚇人的名字)的結構:3臺機器,機器A部署了Win2000pro+Tomcat(jvmRoute:tomcat1,以下如同)和apache,機器B、C(操作系統都是WinXp)分別各部署了一個(gè)Tomcat服務(wù)器(tomcat2,tomcat3)
1、 mod_jk2作為連接器插件的服務(wù)器整合
服務(wù)器環(huán)境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18
連接器插件:mod_jk2.so (version 2.0.4終結版 apache組織計劃在apache2.1/2.2版本中將實(shí)現該連接器)
整合過(guò)程:
a) 下載apache和mod_jk2(在apache的官方網(wǎng)站上即可 ,以下連接僅供參考:
apache:http://httpd.apache.org/download.cgi
mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk2/binaries/win32/
)
b) 安裝apache_2.0.54,安裝目錄假設為C: \apache2(以下用APACHE_HOME代表);將下載的連接器壓縮包解壓后找到mod_jk2.so文件,將其拷貝至APACHE_HOME\modules目錄下
c) 配置jk2:
修改APACHE_HOME\conf\目錄下的httpd.conf文件配置如下:
#在文件中LoadModule部分增加以下代碼
LoadModule jk2_module modules/mod_jk2.so #加載插件
在APACHE_HOME\conf\目錄下建立workers2.properties文件配置如下: # Define the communication channel
[channel.socket:10.0.0.33:8009]
info=Ajp13 forwarding over socket #配置第一個(gè)服務(wù)器
tomcatId=tomcat1 #必須和tomcat服務(wù)其中server.xml中對Engine元素中的#jvmRoute的設置一樣,即在server.xml中的設置如下:
#<Engine name="Standalone" defaultHost="localhost" #debug="0" jvmRoute="tomcat1">
#這個(gè)名字必須唯一,保證集群中的tomcat服務(wù)器不能同 #名
debug=0
lb_factor=1 #負載平衡因子,數字越大請求被分配的幾率越高
# Define the communication channel
[channel.socket:10.0.0.16:8009]
info=Ajp13 forwarding over socket #配置第二個(gè)服務(wù)器
tomcatId=tomcat2
debug=0
lb_factor=1
# Define the communication channel
[channel.socket:10.0.0.31:8009]
info=Ajp13 forwarding over socket #配置第三個(gè)服務(wù)器
tomcatId=tomcat3
debug=0
lb_factor=1
[status:]
info=Status worker, displays runtime information.
# Map the Tomcat examples webapp to the Web server uri space
#用于顯示各個(gè)服務(wù)器的接收的請求狀態(tài)(表述可能不準)
[uri:/jkstatus.jsp]
info=Display status information and checks the config file for changes.
group=status:
# Map the Tomcat examples webapp to the Web server uri space
#映射tomcat中的應用即Context,由于我們的應用是放在tomcat的webapps/root目錄 #下的,所以 uri設置為 /*,如果為應用 B,且部署在webapps/B,則uri設置為/B/*
[uri:/*]
info=Map the whole webapp
debug=0
d) 分別啟動(dòng)tomcat服務(wù)器和apache服務(wù)器(注意:必須保證每臺Tomcat服務(wù)器都在Engine中設置了正確的jvmRoute,這樣負載平衡才有作用),然后就可以試試你的部署了,你可以在apache服務(wù)器所在機器上通過(guò)http://localhost/jkstatus.jsp 來(lái)查看你部署的tomcat的接收請求的情況及負載情況(這里我忽略了各個(gè)服務(wù)器的端口設置及其他內容的設置)
2、 mod_jk作為連接器插件的服務(wù)器整合
服務(wù)器環(huán)境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18
連接器插件:mod_jk-1.2.10-apache-2.0.53.so (version 1.2.10)
整合過(guò)程:
a) 下載apache和mod_jk(在apache的官方網(wǎng)站上即可 ,以下連接僅供參考:
apache:http://httpd.apache.org/download.cgi
mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.10/
)
b) 安裝apache_2.0.54,安裝目錄假設為C: \apache2(以下用APACHE_HOME代表);將下載的連接器壓縮包解壓后找到mod_jk-1.2.10-apache-2.0.53.so文件,將其拷貝至APACHE_HOME\modules目錄下
c) 配置jk2:
修改APACHE_HOME\conf\目錄下的httpd.conf文件配置如下:
#在文件中LoadModule部分增加以下代碼
LoadModule jk_module modules/mod_jk-1.2.10-apache-2.0.53.so #加載插件
JkWorkersFile conf/workers.properties #指定jk配置文件位 #置
JkLogFile logs/mod_jk-1.2.10-apache-2.0.53.log #指定jk日志的位置
JkLogLevel debug #日志記錄級別
JkMount /* tomcat #“/*”表示用于tomca #處理的應用 ;“tomcat”是出現在#workers.properties文件中worker.list后面 #出現的值
JkMount /jkstatus.jsp jkstatus #用于顯示各個(gè)服務(wù)器的接收的請求狀態(tài) #(表述可能不準)
在APACHE_HOME\conf\目錄下建立workers.properties文件配置如下: workers.tomcat_home=E:\Tomcat 4.1 #讓mod_jk模塊知道Tomcat
workers.java_home=D:\j2sdk1.4.2 #讓mod_jk模塊知道j2sdk
ps=\ #指定文件路徑分割符
worker.list=tomcat,jkstatus #指定處理web應用的tomcat服務(wù)器列表,可以是實(shí) #際的tomcat服務(wù)器,也可以是負責負載平衡的“虛”#服務(wù)器(它是實(shí)際服務(wù)器組的管理者)
worker.tomcat.method=R #指定jk轉發(fā)請求的方式,T表示根據網(wǎng)絡(luò )特性選擇提 #供服務(wù)的tomcat服務(wù)器,R表示根據請求數量和負載因#子轉發(fā),缺省為R(理解可能有誤)
worker.tomcat1.port=8009 #工作端口,若沒(méi)占用則不用修改
worker.tomcat1.host=localhost #Tomcat服務(wù)器的地址
worker.tomcat1.type=ajp13 #類(lèi)型
worker.tomcat1.lbfactor=1 #負載平衡因數
worker.tomcat2.port=8009 #工作端口,若沒(méi)占用則不用修改
worker.tomcat2.host=10.0.0.16 #Tomcat服務(wù)器的地址
worker.tomcat2.type=ajp13 #類(lèi)型
worker.tomcat2.lbfactor=2 #負載平衡因數
worker.tomcat3.port=8009 #工作端口,若沒(méi)占用則不用修改
worker.tomcat3.host=10.0.0.31 #Tomcat服務(wù)器的地址
worker.tomcat3.type=ajp13 #類(lèi)型
worker.tomcat3.lbfactor=2 #負載平衡因數
worker.tomcat.type=lb #表明這個(gè)worker負責負載平衡
worker.tomcat.balance_workers=tomcat1,tomcat2,tomcat3 # lb類(lèi)型的worker管理的實(shí)際#部署的tomcat服務(wù)器, 它的 #名稱(chēng)必須與tomcat服務(wù)器中的#Server.xml中Engine元素的#jvmRoute設置必須相同,并且#在balance_workers中出現的這#些值不能出現在worker.list 中
worker.jkstatus.type=status #表明這個(gè)worker負責顯示集群狀態(tài)
d) 分別啟動(dòng)tomcat服務(wù)器和apache服務(wù)器(注意:必須保證每臺Tomcat服務(wù)器都在Engine中設置了正確的jvmRoute,這樣負載平衡才有作用),然后就可以試試你的部署了,你可以在apache服務(wù)器所在機器上通過(guò)http://localhost/jkstatus.jsp 來(lái)查看你部署的tomcat的接收請求的情況及負載情況(這里我忽略了各個(gè)服務(wù)器的端口設置及其他內容的設置)
參考資料:
Tomcat權威指南 O’REILLY 中國電力出版社
在http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html和
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/workers.html中可以找到關(guān)于jk設置的詳細說(shuō)明,有些可能由于本人的英語(yǔ)水平導致的問(wèn)題您可以在這里找到正確的解答
聯(lián)系客服