用apache与tomcat实现服务器web应用集群

apachetomcat实现服务器web应用集群

Apache版本:apache_2.0.59

Tomcat版本:tomcat-5.5.28

JDK 版本:jdk_1.5

JK版本:jk_.24

 

第一步:下载mod_jk-apache-2.2.4.so,(下载地址是: Apache 的官方网站http://www.apache.com )重命名为mod_jk.dll,并将其复制到%Apache_Home%apache2/modules/下。

第二步:修改Apache的配置文件%Apache_Home%apahce2/conf/httpd.conf.

              打开%Apache_Home%apache2/conf/httpd.conf.并加入如下内容

              LoadModule  jk_module  modules/mod_jk-apache-2.2.4.so

              JkWorkersFile  conf/workers.properties

              JkMount  /*  controller

 

第三步:在%Apache_Home%apahce2/conf下新建文件workers.properties

              打开该文件并加入如下内容

              worker.list=controller,tomcat1,tomcat2

 集群中的节点列表

worker.tomcat1.host=localhost

# 节点的ip地址

worker.tomcat1.port=8009

 节点的端口

worker.tomcat1.type=ajp13

# 节点与Apache之间通信采用的协议

worker.tomcat1.lbfactor=1

# 节点所负载的工作量  此系数大则优先

worker.tomcat2.host=localhost 

worker.tomcat2.port=9009

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1  

# 节点所负载的工作量  此系数大则优先

worker.controller.type=lb

 控制节点的属性设置,设为lb即为控制节点

worker.controller.balanced_workers=tomcat1,tomcat2

 控制节点管辖的工作节点

worker.controller.sticky_session=1      

 是否启用粘性会话,1表示启用,0表示否

 

第四步:部署两个tomcat服务器,修改他们的端口防止冲突。

 

第五步:修改这两个服务器的server.xml文件

 

1  按关键字找到<Cluster>项使其生效(即删除注释符号)。

 

2  使任意一个server.xml文件中的tcpListenPort="4002"。目的是防止冲突,默认是tcpListenPort="4001"

 

3  按关键字找到<Engine name="Catalina" defaultHost="localhost" debug="0" >

加入jvmRoute="tomcat1"成为<Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat1">同理另一个改为<Engine name="Catalina" defaultHost="localhost" debug="0" jvmRoute="tomcat2">

其实jvmRoute属性可以任意,只要不重名即可。

 

4  修改端口号: (如果在同一服务器上架设两个tomcat)

 

一个为默认的端口号,:

<Server port="8005" ……

<Connector port="8080"  ……

redirectPort="8443" ……...

<Connector port="8009"  ……..

 

另一个Tomcat 则修改对应的端口,:

<Server port="9005" ……

<Connector port="9080"  ……

redirectPort="9443" ……...

<Connector port="9009"  ……..

 

5  保存退出。

 

第六步:部署一个测试应用。

 

              tomcatwebapp目录下新建一个任意名字的文件夹,比如名为test。再在其中新建一个WEB-INF文件夹。在WEB-INF中新建文件web.xml。打开web.xml文件加入如下内容:

 

       <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

       <display-name>TomcatDemo</display-name>

       <distributable/>

</web-app>

 

       保存。

       然后再到test文件夹下新建文件index.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.print("<b>Session 列表</b>");

  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="index.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>

       保存。 配置完成。先启动tomcat,然后启动Apache。运行测试应用

你可能感兴趣的:(用apache与tomcat实现服务器web应用集群)