您的位置:首页 > 运维架构 > Tomcat

Apache 2.4 + Tomcat7集群配置

2016-02-04 15:39 627 查看

经历了两天终于把Apache+Tomcat的负载均衡搞好了,写个Blog跟大家分享一下。

1. 准备工作

首先下载Tomcat7 和Apache2.4

然后安装Apache,安装完成后在IE中输入localhost访问,如果出现It Works则表示Apache安装好了,然后解压缩到Tomcat1和Tomcat2两个目录中。

分别启动Tomcat1和Tomcat2看是否可以正常启动。

2. 配置Apache2.4

   ①打开conf/httpd.conf文件,加载以下模块。

#---------------------start------------------------

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule speling_module modules/mod_speling.so

LoadModule ssl_module modules/mod_ssl.so

#----------------------end---------------------

 ② 如果你想看到小猫页面,

<IfModule dir_module>

    DirectoryIndex index.html

< /IfModule>

在上面的index.html下面添加index.jsp就可以了

③去掉Include conf/extra/httpd-vhosts.conf的注释标记#。

④在文件末尾加反向代理

ProxyRequests Off

< proxy balancer://cluster>

     BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

     BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2

< /proxy>

⑤修改conf/extra/httpd-vhosts.conf文件。

注释掉所有的dummy-host,添加以下内容

<VirtualHost *:80>

         ServerAdmin zengwei.shao@samsung.com

         ServerName localhost

         ServerAlias localhost

         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

         ProxyPassReverse / balancer://cluster/

         ErrorLog "logs/lbtest-error.log"

         CustomLog "logs/lbtest-access.log" common

< /VirtualHost>

2.配置Tomcat

Tomcat2 的修改conf/server.xml

① <Server port="8005" shutdown="SHUTDOWN">修改为9005

②修改<Service name="Catalina">下的

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

               connectionTimeout="20000"

               redirectPort="8443" />中的8080为9080

③<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />修改为9009

④ <Engine name="Catalina" defaultHost="localhost">在末尾加 jvmRoute="jvm2"

同时修改Tomcat1的这个标签为jvmRoute="jvm1"

⑤<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改为

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">

        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

</Cluster>

配置完成之后,启动两个Tomcat测试一下Tomcat是否可以正常启动

如果可以正常启动,则进行下面步骤

在webApps下面添加Test目录,添加Test.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>");

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

创建WEB-INF目录,创建web.xml

?xml version="1.0" encoding="utf-8"?>

< web-app xmlns="http://java.sun.com/xml/ns/javaee"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"

  metadata-complete="true">

    <distributable />

  </web-app>

最后启动Apache2.4,在页面中输入localhost\test\test.jsp进行测试。

注意:Apache有可能启动不起来,那么解决方式是查看Apache安装目录下的logs目录下的error.log文件,

根据log文件解决可能存在的问题。直到Apache可以正常启动,至此Apache就可以正常启动了。

以上所述只是Apache+Tomcat集群配置的一种方式。还有两种其他的方式。后面试验后会写blog.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: