1. 程式人生 > 實用技巧 >apache2.2+tomcat6.0 叢集  登陸不成功

apache2.2+tomcat6.0 叢集  登陸不成功

apache 2.2 這裡主要採用了代理的方法配置如下:

  • httpd.conf 中 去掉這些註釋:LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so [local]1[/local]
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so再找到<IfModule dir_module></IfModule>加上index.jsp修改成

    <IfModule dir_module>
    DirectoryIndex index.html index.jsp

    </IfModule>



  • 在最下面加入
    ProxyRequests Off
    <proxy balancer://cluster>
    BalancerMember ajp://192.168.10.213:8109 loadfactor=1 route=tomcat1

    BalancerMember ajp://192.168.10.213:8209 loadfactor=1 route=tomcat2
    BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=tomcat3
    </proxy>

  • 修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)把註釋去掉。


  • 在檔案(extra/httpd-vhosts.conf)最下面加入

    <VirtualHost *:80>

    ServerAdmin ***@126.com


    ServerName localhost


    ServerAlias localhost



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


    ProxyPa***everse / balancer://cluster/

    </VirtualHost>

  • tomcat配置如下:
    來的配置。
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
    修改為以下的程式碼:<Receiver port=”XX”/>port也要保證唯一性。

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

    <Manager className="org.apache.catalina.ha.session.BackupManager"
    expireSessionsOnShutdown="false"
    notifyListenersOnReplication="true"
    mapSendOptions="6"/>
    <!--
    <Manager className="org.apache.catalina.ha.session.DeltaManager"
    expireSessionsOnShutdown="false"
    notifyListenersOnReplication="true"/>
    -->
    <Channel className="org.apache.catalina.tribes.group.GroupChannel">
    <Membership className="org.apache.catalina.tribes.membership.McastService"
    address="228.0.0.4"
    port="45564"
    frequency="500"
    dropTime="3000"/>
    <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
    address="auto"
    port="5001"
    selectorTimeout="100"
    maxThreads="6"/>
    <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
    <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
    </Sender>
    <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
    <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
    <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
    </Channel>
    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
    filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
    <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
    tempDir="/tmp/war-temp/"
    deployDir="/tmp/war-deploy/"
    watchDir="/tmp/war-listen/"
    watchEnabled="false"/>
    <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
    </Cluster>


  • 現象:測試的時候session是同步的 ,但是專案加入之後 登陸不成功(專案中沒有登陸的使用者會直接轉到登陸介面,有驗證碼嗎,現在一直在登陸介面進不去 )


  • wKioL1T2fVSgqfQgAABkCG6EJSo264.jpg

  • wKiom1T2fEGB7h67AAQ6o0o999o010.jpg

  • 單個tomcat可以順利登陸成功

  • wKioL1T2fVWx_4-hAARtXeXAuX4125.jpg

    叢集之後登陸不了
    折騰了好久不知道問題在哪,請指導的大神指導一下,謝謝


轉載於:https://blog.51cto.com/wenrouyidao/1617169