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

nginx+tomcat7+session复制 负载均衡

2016-03-02 14:50 405 查看

nginx+tomcat7+session复制 负载均衡

1、安装nginx

      去官网下载nginx 本文是下载的windows版本的

2、nginx配置反向代理、并且配置均衡策略

        upstream loadtest {                  # 负载均衡站点的名称为tomcat,可以自己取

        #ip_hash;                            # 可选,根据来源IP方式选择web服务器,省略的话按默认的轮循方式选择web服务器

        server 127.0.0.1:8080;               # web服务器的IP地址及tomcat发布端口

        server 127.0.0.1:9090;   

        server 127.0.0.1:8088;

       }

    server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            #root   html;

            #index  index.html index.htm;
   proxy_connect_timeout   3;  
   proxy_send_timeout      30;  
   proxy_read_timeout      30;  

            proxy_pass http://loadtest; # 负载均衡指向的发布服务tomcat

        }

3、修改tomcat的server.xml

      
web1服务器tomcat1:vi tomcat1/conf/server.xml(修改如下四个地方:)

web1服务器tomcat2:port:8002, http:82, ajp:8012, jvmRote:tomcat2
web1服务器tomcat3:port:8003, http:83, ajp:8013, jvmRote:tomcat3
web1服务器tomcat4:port:8004, http:84, ajp:8014, jvmRote:tomcat4

4、配置tomcat的session复制
     1.修改tomcat的sever.xml
      <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2" >
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">

      <Manager className="org.apache.catalina.ha.session.BackupManager"

               expireSessionsOnShutdown="false"

               notifyListenersOnReplication="true"

               mapSendOptions="6"/>

      <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="10.10.12.11"

                  port="5002"

                  selectorTimeout="100" />

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

      <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

      <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.JvmRouteSessionIDBinderListener"/>

      <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

    </Cluster>

 2.修改tomcat的 web.xml  

    <distributable />   <!--在倒数第二行增加这个代码才能实现session同步复制功能-->
 
 5、修改被部署的项目工程的  D:\LoadBalance\tomcat7-1\webapps\ABCTool\WEB-INF 目录下 web.xml文件
      也要新增节点(不然session无法完成复制)
     <distributable/>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  session tomcat nginx