Apache + MOD_JK + TOMCAT实现集群和负载均衡配置指南

对于Web应用的集群学习我是从Tomcat5.5开始的,下面是我的实际操作过程和一些体会。

第一部分 环境介绍

负载均衡

×××××××××××××××××

   操作系统:windows xp

   IP地址   :192.168.1.200

   Apache:apache_2.2.13-win32-x86-openssl-0.9.8k.msi

 mod_jk:mod_jk-1.2.28-httpd-2.2.3.so(for windows)

集群环境Tomcat1

×××××××××××××××××

   操作系统:SUSE Linuxe server 10

   IP地址   :192.168.1.114

   Tomcat :apache-tomcat-5.5.28

集群环境Tomcat2

×××××××××××××××××

   操作系统:SUSE Linuxe server 10

   IP地址   :192.168.1.113

   Tomcat :apache-tomcat-5.5.28

第二部分 负载均衡配置

  第一步:安装apache,安装目录为C:/Apache2.2。

  第二步:将mod_jk-1.2.28-httpd-2.2.3.so文件复制到目录%apache_home%/modules目录下

  第三步:修改配置文件%apache_home%/conf/httpd.conf

              在文件%apache_home%/conf/httpd.conf的最末尾增加如下行:include conf/mod_jk.conf

             

 第四步:在目录%apache_home%/conf下面创建文件mod_jk.conf

            

第五步:在目录%apache_home%/conf下创建文件workers.properties

           

           至此负载均衡服务器已经配置完毕啦。

           分别启动tomcat1和tomcat2已经apache就可以实现对于*.jsp的请求进行1:1分发到tomcat1和tomcat2上。

第三部分 tomcat集群配置

            第一步:将%tomcat_home%/conf/server.xml文件中的集群配置节点的注释去掉

                        即将该文件中如下部分

           

 

                     修改为如下形式(......表示中间有代码段没有展示出来)

               上述变更在集群环境tomcat1和tomcat2上都需要同样的处理。

          

            第二步:将%tomcat_home%/conf/server.xml文件中的如下代码作出变更            

            >>>集群环境Tomcat1

           

            修改为

           

 

            >>> 集群环境Tomcat2

           

            修改为

           

           第三步:

           在需要部署到Tomcat中的web应用程序的WEB-INFO/web.xml中增加如下代码

          

          经过上述3大步骤Tomcat的集群配置就完成啦。

          在WEB应用程序中当对session.setAttribute(arg1,arg2)方法进行操作的时候,就可以完成Session的复制了。

        

  第4部分 注意事项 

         在普通的Web应用程序中如下代码片段即可完成Session中属性的变更

        

         但是在集群部署环境下该处理是不能完成Session复制的,必须用如下代码片段才可以

       

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 Apache+Tomcat 实现负载均衡时,我们可以使用 mod_jk 模块实现mod_jkApache 的一个模块,它与 Tomcat 之间通过 AJP 协议进行通信,可以将请求分发给多个 Tomcat 服务器,从而实现负载均衡。 以下是使用 mod_jk 实现负载均衡的步骤: 1. 安装 mod_jk 模块 在 Apache 的模块目录下,添加 mod_jk 模块。在 Linux 系统中,通常是在 /etc/httpd/modules 目录下。 2. 配置 mod_jk 模块 在 Apache配置文件 httpd.conf 中,添加以下内容: ``` LoadModule jk_module modules/mod_jk.so JkWorkersFile /path/to/workers.properties JkLogFile /path/to/mod_jk.log JkLogLevel info ``` 上述配置中,LoadModule 指令用于加载 mod_jk 模块,JkWorkersFile 指令用于指定 workers.properties 文件的路径,该文件定义了 Tomcat 服务器的列表和其它相关参数,JkLogFile 指令用于指定 mod_jk 的日志文件路径,JkLogLevel 指令用于指定日志级别。 3. 配置 workers.properties 文件 在 workers.properties 文件中,我们需要定义多个 Tomcat 服务器的信息,例如: ``` worker.list=worker1,worker2 worker.worker1.type=ajp13 worker.worker1.host=192.168.1.1 worker.worker1.port=8009 worker.worker2.type=ajp13 worker.worker2.host=192.168.1.2 worker.worker2.port=8009 ``` 上述配置中,worker.list 指定了所有的 Tomcat 服务器名称,worker1 和 worker2 是两个 Tomcat 服务器的名称,type 指定了通信协议,host 和 port 分别指定了 Tomcat 服务器的 IP 地址和端口号。 4. 配置虚拟主机 在 Apache 的虚拟主机配置中,添加以下内容: ``` JkMount /* worker1 JkMount /app1/* worker2 ``` 上述配置中,JkMount 指令用于指定 URL 与 Tomcat 服务器之间的映射关系,* 表示所有的 URL,/app1/* 表示以 /app1/ 开头的 URL。 5. 配置重试和超时 在 workers.properties 文件中,我们可以配置重试和超时的参数,例如: ``` worker.worker1.retries=3 worker.worker1.connect_timeout=10000 worker.worker1.prepost_timeout=10000 ``` 上述配置中,retries 表示在重试之前的最大尝试次数,connect_timeout 表示连接超时时间,prepost_timeout 表示请求和响应的超时时间。 6. 测试负载均衡 完成上述配置后,我们可以启动多个 Tomcat 服务器,并访问 Apache 的虚拟主机。Apache 会将请求分发给多个 Tomcat 服务器,从而实现负载均衡。 以上就是使用 mod_jk 实现负载均衡的步骤。需要注意的是,使用 mod_jk 进行负载均衡时,需要确保 Tomcat 服务器之间的 session 同步。可以使用 Tomcat 提供的 session 共享机制或使用其它第三方的 session 共享方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值