• windows配置apache tomcat 集群


     

    1,安装包

    httpd-2.2.22-win32-x86-no_ssl.msi
    两个tomcat6

    2,配置apachehttpd---配置的过程中有错误可以查看logs文件夹下的log文件进行排查。

         1,将httpd-2.2.22-win32-x86-no_ssl.msi进行安装,安装完成后,在服务里面会有一个 apache httpd服务,可以进行启动停止。
         2,配置文件修改
    1、Apache----2.2.22版本已经集成了mod_jk功能,故不必配置繁琐的worker.properties文件什么的,配置过程很方便了。
    2、利用编辑器打开D:Program FilesApache Software FoundationApache2.2confhttpd.conf文件,找到如下代理块(proxy):
                 #LoadModule proxy_module modules/mod_proxy.so
                 #LoadModule proxy_ajp_module modules/mod_proxy_ajp.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
              
                   #ServerName localhost:80
    3、去掉这些代理块的注释“#”符号,Apache在启动的过程中将加载上述代理(proxy)。
    4、找到#Include conf/extra/httpd-vhosts.conf位置,并去掉“#”符号,结束后关闭httpd.conf文件。
    5、利用编辑器打开D:Program FilesApache Software FoundationApache2.2confextrahttpd-vhosts.conf文件,配置虚拟站点,在文件结束添加
    <VirtualHost *:80>
       ServerAdmin xxxx@126.com
       ServerName 192.168.0.102
       ServerAlias localhost
       ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=On
       ProxyPassReverse / balancer://cluster/
       ErrorLog "logs/error.log"
       CustomLog "logs/access.log" common
    </VirtualHost>
     
                 注:1、balancer://是告诉Apache需要进行负载均衡的代理;
                 2、后面的cluster是集群名,可以随意取;
                 3、两个日志引擎ErrorLog负责记 录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取。
    6、再次打开confhttpd.conf,文件结束处添加如下代码: 
    ProxyRequests Off
    <proxy balancer://cluster>
        BalancerMember ajp://192.168.0.102:8013 loadfactor=1 route=node1
        BalancerMember ajp://192.168.0.100:8009 loadfactor=1 route=node2
    </proxy> 
                 注:1、ProxyRequests Off 是告诉Apache需要使用反向代理; 
                 2、<proxy balancer://cluster>用于配置工作在集群中的节点列表,这里的“cluster”必须与上面的集群名保持一致; 
                 3、Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口; 注意这里的端口是tomcat配置文件中ajp协议的那个端口。!!!!
                 4、loadfactor是负载因 子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都 是1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发; 
                 5、route参数对应后续tomcat配置中的引擎路径 (jvmRoute)。 
            7、重新启动Apache服务,在浏览器中访问:http:192.168.0.102 ,你会发现得到了一个503的错误,原因是还没有启动Tomcat造成的。

    3,配置tomcat

    在tomcat的server.xml中修改engine标签如下    <Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">
    这里的node1 node2 在两个tomcat中配置的时候和刚才在apache里面设置的要一样才行。
    同时在xml中放开      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 配置。
     
     

    4,测试

    创建一个web项目,一个jsp来测试验证一下。
    web.xml中加上一个标签 <distributable /> 通知Tomcat在当前应用集群中的所有节点间实现Session共享。
    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>
  • 相关阅读:
    phonon 播放视频
    ubuntu清理系统垃圾与备份
    QT中调用mplayer显示视频并加透明文字
    Qt中的QFileDialog类的几个示范代码
    Qt Phonon 例子
    Ubuntu 安装qt 和其他开发环境
    qhttp 下载
    QT 中文乱码 解决
    thrift oneway的问题
    leveldb 之 内存管理
  • 原文地址:https://www.cnblogs.com/liouwei4083/p/6035536.html
Copyright © 2020-2023  润新知