一.环境和版本。
1.apache2.2
2.tomcat 6.0.8
3.mod_jk.so (下载地址:http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/ )选择合适的平台和版本。
4.系统:win xp
二.安装。
1.安装apache。目录如:D:/AppServ/Apache2.2/。以下以%APACHE_HOME% 代替
2.tomcat 安装两个,分别为 tomcat1,tomcat2。目录名分别为%TOMCAT1_HOME%,%TOMCAT2_HOME%
3.将mod_jk.so放在%APACHE_HOME%/modules/ 下,本例如 D:/AppServ/Apache2.2/modules下。
二.配置集群
这只是简单的集群配置le,大概的原理是,首先将请求全部有apache处理,当遇到是.jsp页面时候,将请求转交由tomcat处理。
1.修改httpd.conf
备份 %APACHE_HOME%/conf 目录下的 httpd.conf文件,然后打开 httpd.conf,在合适位置增加一行代码,载入mod_jk的配置。
2.新建mod_jk.conf
在httpd.conf相同目录下新建mod_jk.conf
该文件的大致含义是,
首先载入jk_module,然后根据workers.properties文件转发。
如果碰到.jsp结尾的则交友controller处理。controller 会在下面的文件里定义。
3.新建workers.properties
APACHE的配置到此为止。回顾一下,
在modules目录下增加了mod_jk.so
在conf目录下修改httpd.conf,新建mod_jk.conf和workers.properties.
4.修改tomcat的server.xml
由于装了两个tomcat,所以要修改其中的一个端口配置。比如tomcat2
打开%TOMCAT2_HOME%/conf 目录下的server.xml(记得备份)
a.修改server端口8005为9005,
b.修改访问端口8080为9090,
c.修改ajp13端口为9009
ok。配置结束 。
下面测试一下。
建立个文件夹名为test在里面放个test.jsp
然后将其分别复制到tomcat1,和tomcat2的webapps目录下。
打开apache,tomcat1,tomcat2。
输入:http://localhost/test/test.jsp访问。
可以看见在其中一个控制台里打印出了一行横条。
刷新,看见在另一个tomcat控制台打印了。如此循环。
实现了负载均衡。
二 .配置集群 session 同步
按照上一步所做的两个tomcat的session并没有同步,我们来启用tomcat的集群配置,来使其session同步。
1.修改tomcat1,tomcat2的server.xml
将
的注释去掉。
2.修改
增加jvmRoute属性。
3.在测试目录test下新建WEB-INF目录,新增web.xml
代码如:
4.测试
新建session.jsp
确认两个tomcat webapps目录下都有test
输入http://localhost/test/session.jsp
刷新页面分别显示tomcat1和tomcat2的session id ,我们发现两者已经实现了同步。