Tomcat 集羣搭建

一、前期準備

1)Apache請求分發服務器 Web服務器web

2)Tomcat 應用服務器apache

3)jk_mod Apatch的插件,jk_mod 版本必定要和Apatch對應瀏覽器


二、安裝Apache

1)下載Httpdtomcat

2)解壓文件,個人存放在 D:\Apache24服務器

3)修改httpd.conf 全部須要指定路徑的地方,尤爲是絕對地址使用 D:/ 而不要使用 D:\session

4)修改httpd.conf ServerName localhost:80 意思是指定DNS,可是本機沒有DNS,就爲localhost或IPapp

5)DOS窗口下,運行Apatch,這樣運行的好處是能夠看到錯誤信息,cd D:\Apache24\bin>httpd 負載均衡

6)打開瀏覽器,localhost 看看頁面是否有 it workswebapp


三、安裝Tomcat

1)下載Tomcat,由於在本機要開啓多個Tomcat,因此須要使用免安裝版jvm

2)複製多個Tomcat到本地目錄中,本機上開啓多個必定要修改端口號,避免端口衝突

3)修改server.xml 更改端口號,若是是不一樣的服務器上就不必了,由於IP都不同了

4)修改server.xml 添加集羣配置,這裏不一樣的tomcat,其 jvmRoute 值必須保證不同

<!-- Define an AJP 1.3 Connector on port 8009,這個端口是上面提到 jk_mod 負載均衡時須要使用 -->

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<!-- You should set jvmRoute to support load-balancing(負載均衡) via AJP ie -->

<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

<!-- 集羣配置,這裏只須要這一句就能搞定,默認採用 HttpSession all-to-all 的同步通知方式 -->

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>


四、添加 jk_mod

1)修改httpd.conf 在文件尾部添加 include "D:/Apache24/conf/mod_jk.conf"

2)conf 目錄下新建 mod_jk.conf 、 workers.properties ,兩個文件的具體內容見下面

3)Apache 安裝目錄下 modules 目錄下粘貼 mod_jk.so 這個版本必須和Apatch保持對應,不然出現錯誤

line 1 of D:/Apache24/conf/mod_jk.conf: Cannot load modules/mod_jk-1.2.31-httpd-

2.2.3.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xb3\xcc\x

d0\xf2\xa1\xa3

<!--  mod_jk.conf 文件內容-->

# 1)加載mod_jk Module

LoadModule jk_module modules/mod_jk.so

# 2)指定 workers.properties文件路徑

JkWorkersFile conf/workers.properties

# 3) 設置日誌存放路徑  

JkLogFile logs/mod_jk.log

# 4) 設置日誌級別 [debug/error/info]  

JkLogLevel info  

# 5) 設置日誌格式  

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"  

# 6)JkOptions indicate to send SSL KEY SIZE,  

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories  

# 7)JkRequestLogFormat set the request format  

JkRequestLogFormat "%w %V %T"

# 8)指定那些請求交給tomcat處理,"controller"爲在workers.propertise裏指定的負載分配控制器 JkMount /*.jsp controller  

JkMount /*.* controller

<!--  workers.properties 文件內容-->

workers.tomcat1_home=D:/tomcat1

workers.tomcat2_home=D:/tomcat2

worker.list = controller

# tomcat1 配置信息

worker.tomcat1.port=10009 #ajp13 端口號,在tomcat下server.xml配置,默認8009

worker.tomcat1.host=localhost  #tomcat的主機地址,如不爲本機,請填寫ip地址

worker.tomcat1.type=ajp13 #定向包協議

worker.tomcat1.lbfactor = 1  #server的加權比重,值越高,分得的請求越多

# tomcat2 配置信息

worker.tomcat2.port=20009  #ajp13 端口號,在tomcat下server.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=false 


五、新建web項目

web項目必定要注意,web.xml 中添加 <distributable/>

由於咱們這裏Tomcat爲咱們進行了HttpSession的同步,因此能夠寫個測試HttpSession的例子,好比查看 HttpSession ID

把新建好的項目發佈到Tomcat的webapp目錄下,每一個tomcat都要發佈哦,否則怎麼是多實例呢


六、啓動測試

啓動全部的Tomcat

啓動Apatch

測試localhost,多刷新幾回頁面是否負載均衡,是否HttpSession進行了同步

測試節點容錯功能,關閉某個tomcat,看看Apache是否還可以進行跳轉到其餘可用實例,而後又啓動Tomcat,又是否能被用

相關文章
相關標籤/搜索