Apache和tomcat集群搭建 session共享

@ZkAlan

Apache2.2+Tomcat7.0集群部署

 

 

 

一、准备环节

 

运行环境:Windows7 

Apache版本:Apache 2.24

Tomcat版本:tomcat6.39以上

mod_jk.os 链接包  用来链接Apache端口和Tomcat端口

 

二、设置Apache下的 httpd.conf 配置文件

 

httpd.conf 是Apache的主要配置文件,在Apache 安装完成后,可尝试打开 /Apache 2.2/conf/httpd.conf  

文件进行修改,下面是 Apache 的常用配置:

 

在文件的最后一行加入  include conf/mod_jk.conf (自行创建)

mod_jk.conf 内容如下:

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties

JkMount /*.jsp controller


 

在同级目录下 新建 workers.properties文件 内容如下

 

worker.list = controller 

 

worker.tomcat1.port=11003

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1

 

worker.tomcat2.port=12003

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

 

worker.tomcat3.port=13003

worker.tomcat3.host=localhost

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor = 1

 

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3

worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

#worker.controller.sticky_session=1 


 

 

然后将mod_jkxxxxx.so 更名为mod_jk.so 并粘贴到/Apache/modules目录下

 

三、Tomcat 配置

 

tomcat复制三份在tomcat conf/server.xml添加:

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

这句话在server.xml中默认是被注释掉的,使用时取消即可。

由于三份tomcat都在同一环境下,会出现端口被占用的情况,所以我们更改他们的端口号,

避免出现端口冲突

在 tomcat webApps 目录下 添加 index.jsp页面用来备用访问

   页面内容如下:

Server Info:

<%

out.println(request.getLocalAddr() + " : " + request.getLocalPort() + "<br>");

out.println("<br> ID " + session.getId() + "<br>");

// 如果有新的 Session 属性设置

String dataName = request.getParameter("dataName");

if (dataName != null && dataName.length() > 0) {

String dataValue = request.getParameter("dataValue");

session.setAttribute(dataName, dataValue);

}

out.println("<b>Session 列表</b><br>");

 

Enumeration e = session.getAttributeNames();

while (e.hasMoreElements()) {

String name = (String) e.nextElement();

String value = session.getAttribute(name).toString();

out.println(name + " = " + value + "<br>");

System.out.println(name + " = " + value);

}

%>

<form action="test2.jsp" method="POST">

名称:<input type=text size=20 name="dataName"> <br>

 值:<input type=text size=20 name="dataValue"> <br>

 <input type=submit>

</form>


 

四、启动

 

启动Tomcat 

打开tomcat/bin/startup.bat 

分别启动tomcat1tomcat2tomcat3

启动Apache

打开Apache/bin/ApacheMonitor.exe

访问 http:127.0.0.1:80/index.jsp

如果 显示内容显示为 在tomcat webApps 目录中的index.jsp 页面写好的页面


刷新页面

 

我们发现ID tomcat名称发生变化

ApacheTomcat 集群部署成功!

 

此时我们集群部署成功,但是session却没有共享,解决办法是建立test项目,需要在项目的web.xml中添加

<distributable/> 

 

 


我们发现此时数据已经被共享

 

那么我们的tomcat集群下的session共享也已经完成!

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值