tomcat集群配置

来源:互联网 发布:自学java好找工作吗 编辑:程序博客网 时间:2024/06/06 00:28

目前javaweb开发的项目越来越多,但如果想要网站支持庞大的访问量,就得需要多台服务器分担访问量,这就涉及到了集群的概念。

tomcat(以6.0版本为例)集群配置如下:

1.Apache

 Apache是http服务器,我们利用它实现对tomcat的负载均衡。apache下载地址为:http://archive.apache.org/dist/httpd/。安装完成后,访问http://localhost出现如下界面表示apache安装成功:

2.tomcat

tomcat就不用多介绍了,但需要注意的是一个集群下不能即有tomcat6也有tomcat7,否则虽然能负载均衡,但session无法进行复制。

 

tomcat和apache服务器连接方式有三种:mod_jk、http_proxy和ajp_proxy。

本次实例以mod_jk为例进行配置,下载地址为:http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/

3.配置过程

1)修改apache配置

      修改apache安装目录下的conf/httpd.conf文件,在文件最后一行添加如下内容:

       include "D:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

      新建mod_jk.conf文件,内容如下:

       LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so

       JkWorkersFile conf/workers.properties

       #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名

      JkMount /*.* controller

     将下载的JK插件mod_jk.so复制到Apache安装目录的modules目录下。

     

 新建并编辑workers.properties文件,内容如下:

#server

worker.list = controller

#========tomcat1========

worker.tomcat1.port=8082

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1

#========tomcat2========

worker.tomcat2.port=8083

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

 

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2

worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

#worker.controller.sticky_session=1

配置Tomcat

配置2个Tomcat服务器,将Tomcat解压后复制2份,我将每个文件夹分别命名为Tomcat1和Tomcat2,修改每一份的server.xml配置,修改部分如下图:

AJP13的connector的poat和jvmRoute名称和workers.properties中配置对应。

还需要保证本地2个本地Tomcat配置serverportconnectorhttp1.1port都不相同。

 

测试

建立测试项目

建立test项目,需要在项目的web.xml中添加<distributable/>

建立test2.jsp,内容如下(网上都用这个测试,我就省的麻烦了):

<%@ page contentType="text/html; charset=GBK" %>

<%@ page import="java.util.*" %>

<html><head><title>Cluster App Test</title></head>

<body>

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>");

  System.out.println("============================");

  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>

</body>

</html>

上面的测试页面就不解释了,很好理解。

 

 

      

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 斗鱼6000鱼丸怎么办卡 斗鱼直播没人看怎么办 淘宝直播间没人气怎么办 挂水了还是有热度怎么办 陌陌工会不结算工资怎么办 滴滴给了差评怎么办 饿了么星级低怎么办 滴滴乘客给低星怎么办 蘑菇街自动收货前还没到怎么办 小主播人气太少别人看不到怎么办 税收分类编码不可用怎么办 斗鱼鱼翅充错了怎么办 苹果指纹摔坏了怎么办 小米5指纹坏了怎么办 苹果5s指纹失灵怎么办 学生赌博输了3万怎么办 电脑录屏没有声音怎么办 别人说你没有他美怎么办 没有你我怎么办歌词是什么意思 要是没有他我怎么办啊歌词 用喀秋莎保存的视频黑屏怎么办 电脑杀毒之后开不了机怎么办 夫妻离婚分房分车怎么办 请的护身符丢了怎么办 老车轻微烧机油怎么办 电脑下软件变卡怎么办 机械表日历偏了怎么办 子宫内膜异位痛经怎么办 凉着了坏肚子怎么办 昆虫叮咬后疼痛起水泡怎么办 每次来月经都痛经怎么办 人左肩的灯灭了怎么办 香港超过7天了怎么办? 手机拍完照图像是倒的怎么办 地下城金币邮寄卡了怎么办 wow7.3打团本卡怎么办 上古卷轴5出bug怎么办 苹果手机打游戏太卡怎么办 梦幻将军令换了怎么办 手机丢了将军令怎么办 大军之印放弃了怎么办