tomcat集群配置
一、环境准备:
1、安装apache服务器:httpd-2.2.21-win32-x86-no_ssl.msi
2、tomcat服务器:apache-tomcat-7.0.23-windows-x86.zip
3、连接器插件:tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip
二、配置步骤
1、设置jdk环境
2、安装apache服务器
参数:
Network Domain : tim_domain
Server Name : tim_server
Admin's Email Address : tim.zhang@gmail.com
3、安装tomcat服务器
4、连接器插件来源
解压tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip
得到mod_jk.so
5、将mod_jk.so复制到%Apache_HOME%\modules\目录下。
6、打开%Apache_HOME%\conf\httpd.conf,在文件末尾加上:
==============================
Include conf/mod_jk.conf
==============================
7、在http.conf同目录下新建mod_jk.conf文件,内容如下:
==============================
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkMount /*.jsp controller
==============================
8、在http.conf同目录下新建workers.properties,内容如下:
==============================
worker.list=controller,tomcat1,tomcat2
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat2.port=8010
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1
==============================
9、打开其中一个tomcat的%TOMCAT_HOME%\conf\server.xml文件,做如下端口修改:
8005-》8006
8080-》8081
8009-》8010
10、编写一个测试jsp,分别放在两个tomcat服务器的%TOMCAT_HOME%\webapps\lb_test\test.jsp位置。
(注:lb_test为新建目录,是作为测试的工程名;test.jsp即新编写的测试jsp文件)
jsp内容如下:
===================================
<%
System.out.println("===1===");
%>
===================================
11、调试。
启动apache,tomcat1,tomcat2三个服务器,
11.1 在浏览器地址栏输入:
http://localhost:8080/lb_test/test.jsp
确保tomcat1运行正常
11.2 在浏览器地址栏输入:
http://localhost:8081/lb_test/test.jsp
确保tomcat2运行正常
11.3 在浏览器地址栏输入:
http://localhost/lb_test/test.jsp
说明三个服务器成功配合实现负载均衡。
三、进一步配置集群(session复制)
1、编写测试jsp文件,具体见
http://wenku.baidu.com/view/81cdef12a2161479171128f1.html
2、编辑%TOMCAT_HOME%/conf/server.xml文件
2.1 将
<Engine name="Catalina" defaultHost="localhost">
改为
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
(在服务器1的配置文件中,tomcat1为workers.properties中的服务器1的名字)
和
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
(在服务器2的配置文件中,tomcat2为workers.properties中的服务器2的名字)
2.2 取消下面这行的注释
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
3、在lb_test工程目录下,新建WEB-INF目录,再新建web.xml文件,内容如下:
==========================
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true">
<description>
Cluster Test
</description>
<display-name>Cluster Test</display-name>
<distributable/>//****关键内容***//
</web-app>
==========================
4、重启两个tomcat进行测试。
<<大功告成!!!>>
三、背景知识:
http://paul-learning.iteye.com/blog/1147452
Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。
因此在实际应用中,常常把Tomcat与其他HTTP服务器集成。
此时,Tomcat服务器的工作模式通常为进程外的Servlet容器,Tomcat服务器与其他HTTP服务器之间通过专门的插件来通信。
四、参考文档
http://wenku.baidu.com/view/81cdef12a2161479171128f1.html
http://wenku.baidu.com/view/380b95f69e3143323968937e.html?from=rec&pos=3&weight=5&lastweight=4&count=5