1. 程式人生 > >Apache+Tomcat+jk_mod整合實戰

Apache+Tomcat+jk_mod整合實戰

    TOMCAT+APACHE+JK實現TOMCAT叢集負載均衡

1.APACHEhttps.conf最下面加上include "APACHE路徑/conf/mod_jk.conf"conf資料夾下增加了以個相應的mod_jk.conf檔案

2.mod_jk.conf檔案的配置如下:

#載入mod_jk Module
LoadModule jk_module modules/
mod_jk-1.2.28-httpd-2.2.3.so

#指定 workers.properties檔案路徑
JkWorkersFile conf/workers.properties

#指定那些請求交給tomcat處理,"controller"

為在workers.propertise裡指定的負載分配控制器

JkMount /*.jsp controller

3.mod_jk-1.2.28-httpd-2.2.3.so檔案COPYAPACHE/modules資料夾下

4.http.conf同目錄下新建 workers.properties檔案,內容如下

worker.list = controller,tomcat1,tomcat2 

#server 列表

#========tomcat1========

worker.tomcat1.port=8009        

#ajp13 埠號,在tomcatserver.xml配置,預設8009
worker.tomcat1.host=localhost

 

#tomcat的主機地址,如不為本機,請填寫ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1  

#server的加權比重,值越高,分得的請求越多

#========tomcat2========

worker.tomcat2.port=9009      

#ajp13 埠號,在tomcatserver.xml配置,預設8009
worker.tomcat2.host=localhost 

#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

5. 修改兩個tomcat配置檔案server.xml

1<Server port="8005" shutdown="SHUTDOWN"> 埠號一個為8005一個為9005

2<Connector port="8081" maxHttpHeaderSize="8192"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

埠號一個為8080一個為8081 如果8080埠有其他用可以改為8082

3<Connector port="8009"

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

埠號一個為8009一個為9009.兩個TOMCAT的埠號應與workers.properties檔案內的worker.tomcat2.port一致

4)去掉<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> 標籤的註釋。標紅的地方應與workers.properties檔案內的TOMCAT名一致。

5)去掉<Cluster>…………</Cluster>標籤的註釋,將標籤中如下標紅的地方埠號改成40014002

<Receiver

className="org.apache.catalina.cluster.tcp.ReplicationListener"

tcpListenAddress="auto"

tcpListenPort="4001"

tcpSelectorTimeout="100"

tcpThreadCount="6"/>

<Sender

6)如果需要實現SESSION同步的話還需要做以下配置:

在相應的專案的WEB-INFO資料夾下的WEB.XLM檔案中的<web-app></web-app>中加入<distributable/>標籤,兩個專案都需要加!

<web-app

apache+tomcat併發測試

apache/bin/ab-c 1000 -n 10000 http://cvs.javaeye.com:8080/test.jsp

-c是併發數-n是傳送請求數