1.
軟體下載
1.1JDK1.6
SUN官網上下一個,最好是1.6以上的
1.2 Apache HTTP
Server:httpd-2.2.16-win32-x86-no_ssl.msi
下載地主:http://httpd.apache.org/download.cgi
1.3 Tomcat:apache-tomcat-6.0.26-windows-x86.zip(免安裝版)
:http://tomcat.apache.org/download-60.cgi
1.4 Tomcat
Connector:mod_jk-1.2.30-httpd-2.2.3.so
下載地主:http://apache.etoak.com/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/
Tomcat Connector 要選對版本,mod_jk-1.2.30-httpd-2.2.3.so is for Apache
2.2.x.
2軟體的安裝
機子環境介紹
機子IP |
是否將安裝Apache HTTP Server |
是否將安裝Tomcat |
是否將安裝JDK |
192.168.1.102 |
是 |
是 |
是 |
192.168.1.103 |
否 |
是 |
是 |
2.1 JDK安裝
下載JDK,在每台機子安裝好後,在環境變數裡添加JAVA_HOME和classpath,
我添加為
JAVA_HOME: C:/Program Files/Java/jdk1.6.0
classpath:C:/Program Files/Java/jdk1.6.0/lib.(注意”.”是必須的)
2.2 Apache HTTP
Server的安裝
在192.168.1.102機子上,雙擊運行下載的安裝檔案,按提示進行即可。我安裝的目錄為D:/Program Files/Apache2.2
2.3Tomcat的安裝
在192.168.1.102機子下,將下載的apache-tomcat-6.0.26-windows-x86.zip解壓,並將解壓後的檔案夾重新命名為Tomcat6,將Tomcat6複製到D:/Program Files下,以記事本方式開啟D:/Program
Files/Tomcat6/bin/startup.bat,在檔案最開始的地方加上:
SET JAVA_HOME=C:/Program
Files/Java/jdk1.6.0
SET CATALINA_HOME=D:/Program Files/Tomcat6
其中JAVA_HOME為JDK的安裝路徑,CATALINA_HOME為Tomcat的安裝路徑。同樣編輯D:/Program
Files/Tomcat6/bin/shutdown.bat,在最開始加上同樣的內容。
以同樣的方式在192.168.1.103機子上安裝Tomcat。
3軟體的配置
3.1Apache HTTP Server的配置
3.1.1將下載的檔案mod_jk-1.2.30-httpd-2.2.3.so複製到D:/Program Files/Apache2.2/modules中。
3.1.2 在安裝目錄D:/Program Files/Apache2.2下的conf目錄中,找到httpd.conf檔案,在記事本中開啟,在檔案的最後加上一行
Include conf/mod_jk.conf
Include首字母大寫。
3.1.3在conf目錄下建立mod_jk.conf檔案,添加以下內容:
#載入mod_jk Module
LoadModule jk_module
modules/mod_jk-1.2.30-httpd-2.2.3.so
#指定 workers.properties檔案路徑
JkWorkersFile conf/workers.properties
#指定哪些請求交給tomcat處理,"controller"為在workers.propertise裡指定的負載分配控制
#器,/* 表示所有請求均由tomcat處理
JkMount /* controller
3.1.4在conf目錄下建立workers.properties檔案,添加以下內容:
worker.list =
controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 連接埠號碼,在tomcat下server.xml配置,預設8009
worker.tomcat1.host=localhost #tomcat的主機地址,如不為本機,請填寫ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加權比重,值越高,分得的請求越多
#========tomcat2========
worker.tomcat2.port=8009 #ajp13 連接埠號碼,在tomcat下server.xml配置,預設8009
worker.tomcat2.host=192.168.1.102 #tomcat的主機地址,如不為本機,請填寫ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加權比重,值越高,分得的請求越多
#========controller,負載平衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分擔請求的tomcat
worker.controller.sticky_session=1
註:tomcat1和Apache HTTP Server都安裝在192.168.1.103下,所以tomcat1的host配置為localhost,當然,也可以改為IP地址192.168.1.103.
3.2.Tomcat的配置
在安裝目錄下進入conf目錄,開啟server.xml檔案,尋找被注釋掉的<Cluster>節點,將其注釋去掉即可。
我修改之前,為
<!--
<Cluster
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
修改之後為
<Cluster
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
4叢集的啟動
4.1啟動Tomcat
在每台機子上的Tomcat的安裝目錄下,進入bin目錄,雙擊運行startup.bat,即可,我的詳細路徑為D:/Program Files/Tomcat6/bin
4.2啟動Apache HTTP Server
在所有機子都啟動後,啟動192.168.1.103機器下的Apache HTTP Server,至此,叢集啟動完成。
5項目的叢集上的部署
在項目部署之前,必須編輯項目的WEB-INF目錄下的web.xml,在
</web-app>
之前添加
<distributable/>
即可。修改之後,將項目部署在tomcat的webapps下即可。
本文的配置過程是在實際操作中記錄下來的,項目EInvoice在叢集上部署成功,並且在叢集內的tomcat伺服器之間共用session。需要注意的是,由於我們的Tomcat是安裝在不同機器上的,如果是tomcat安裝在相同機器上的話,那麼相同機器上,除其中一台tomcat外的其他tomcat的相關連接埠就必須修改,不然會引起衝突。具體修改可參見:
http://blog.csdn.net/welun521/archive/2009/05/12/4169879.aspx
本叢集配置的主要過程也是參照此文。