Tomcat集群配置

9 篇文章 0 订阅
4 篇文章 0 订阅

环境配置:

App应用服务器apache-tomcat-6.0.36

web服务器:apachehttpd-2.2.19 

java环境:jdk1.6

系统环境:winxp系统

首先配置web应用服务器配置tomcat-A配置

         1:修改tomcatserver.xml文件增加如下内容

                1、修改IP地址,如果是不同一台服务器注意修改IP地址

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">
            2、端口修改
<Server port="9005" shutdown="SHUTDOWN">

 <Connector port="8888" protocol="HTTP/1.1" 

               connectionTimeout="20000" 

               redirectPort="8444" />
    <Connector port="8082" protocol="AJP/1.3" redirectPort="8444" />
注意每个tomcat的port都不能设置为一个,如果是不同的机器,可以设置为上面相同的参数,但是一个server里面不能出现相同的端口
     

备注:

1)        App应用服务器tomcat-B配置和tomcat-A基本相同,但需要注意的是两台服务器如果在一个电脑上就需要注意端口的冲突问题,比如:tomcat-A的端口是8080,那么tomcat-B就是8081或者其他,其他的以此类推

我这里这里的端口配置如下:

tomcat-Aserverport7777   ajp/1.3connector8019  httpconnector8444 

receverport4001

tomcat-Bserverport8888  ajp/1.3connector8009  httpconnector8443

              receverport:4002

2)        然后就是新建一个web应用测试一下,在新建应用的web.xml里面需要加上

<distributable/>


3)        新建web应用,web.xml配置文件里面需要添加如下内容来配合实现session共享:

<distrbutable/>

然后将应用分别部署到两台服务器,启动两台应用服务器进行测试:

注:由于jsp自带session对象,所以在测试的时候最好把页面自带的session对象关闭后再测试,关闭代码<%@ page session="false"%>

Tomcat-A  index.jsp代码:

<body>

          This is my JSP page.tomcat-A <br>

          <%

                            HttpSessionmysession = request.getSession(false);

                           

                            if(mysession==null){

                                     mysession= request.getSession(true);

                                     mysession.setAttribute("appname","value-A");

                                     out.println("newsession:"+mysession.getId());

                                               }else{

                                     out.println("oldsession:"+mysession.getId());

                                     }

                                     out.println("appname="+mysession.getAttribute("appname"));

          %>

 </body>

Tomcat-B  index.jsp代码:

<body>

   This is my JSP page.tomcat-B<br>

   <%

                            HttpSessionmysession = request.getSession(false);

                           

                            if(mysession==null){

                                     mysession= request.getSession(true);

                                     mysession.setAttribute("appname","value-A");

                                     out.println("newsession:"+mysession.getId());

                                               }else{

                                     out.println("oldsession:"+mysession.getId());

                                     }

                                     out.println("appname="+mysession.getAttribute("appname"));

   %>

       </body>

 

5)        分别访问两台服务器:http://localhost:7777/mycluster

http://localhost :8888/mycluster分别访问得到结果如下就证明配置可以了。


6)        web服务器配置

首先安装apache的web服务器:

apache服务器和tomcat的连接方法其实有三种:mod_JK、http_proxy和ajp_proxy。本文主要介绍最简单的http_proxy方式的配置,其他的可以自行尝试。

1:找到安装目录的conf文件夹,修改httpd.conf里面


去掉这3行的注释,没有就需要新添加上。

2:在该文件里新增如下内容,有的话就直接修改即可

ProxyRequestsOff

ProxyPass/cluster balancer://mycluster lbmethod=byrequests stickysession=jsessionid  nofailover=Off timeout=5 maxattempts=3

<!—这里需要注意,没有这句话session就不能共享,网上很多方法都不能解决该问题-->

ProxyPassReverseCookiePath / /cluster

ProxyPassReverse/ balancer://mycluster/

<Proxybalancer://mycluster>

BalancerMemberhttp://172.23.1.46:8081/mycluster smax=10 max=10 ttl=5 timeout=5 acquire=3  loadfactor=1

BalancerMemberhttp://127.23.1.46:8082/mycluster smax=10 max=10 ttl=5 timeout=5 acquire=3  loadfactor=2

</Proxy>

<Location/balancer-manager>

SetHandlerbalancer-manager

Order Deny,Allow

Deny from all

Allow from all

</Location>

<Location/server-status>

SetHandlerserver-status

Order Deny,Allow

Deny from all

Allow from all

</Location>

其中BalancerMember的路径是app应用服务器访问的路径和端口,该web服务器会根据实际访问情况根据自己的一套hash算法把请求分发到配置的两台应用服务器上去。由于这里都是在一个电脑上使用,所以ip相同,但是端口肯定要不一样。

对于apache服务有默认的80端口,如果没有其他应用就可以直接用该端口,有的话可以在httpd.conf文件里面对其进行修改。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值