tomcat集群和session共享

1.集群

  • 生成发布包
    项目右键export生成war包
  • 再解压一个tomcat
    把war包放入第二个tomcat,wabapps中,设置端口号,根目录conf的server.xml中
    这里写图片描述

    这里写图片描述

    这里写图片描述

再修改第二个startup.bat增加两行代码
写在最上方

SET JAVA_HOME=D:\java                  //指定jdk安装的路径根路径,不用进入bin文件夹中

SET CATALINA_HOME=D:\apache-tomcat-7.0.67      //指定第二个tomcat根路径
  • 启动nginx 根目录下conf下的nginx.conf
  server {
        listen       80;
        server_name  localhost;//表示进入端口自动寻找localtion

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;//默认的localtion地址
            index  index.html index.htm;//这个地址下有哪些页面可以访问

            //添加proxy_pass
            proxy_pass http://server_list/;
        }
  • 在当前conf文件中添加upstream
       upstream server_list{
    server localhost:8080;//添加所有的tomcat访问地址
    server localhost:8081;
    }

示例如下:

http {

limit_conn_log_level error;

limit_conn_status 503;

limit_conn_zone $binary_remote_addr zone=one:10m;

limit_conn_zone $server_name zone=perserver:10m;

limit_req_zone binaryremoteaddrzone=allips:100mrate=10r/s; binary_remote_addr有时需要根据自己已有的log_format变量配置进行替换

server {

              …………………….

            limit_conn  one  100;                                              

limit_conn perserver 1000;

              limit_req   zone=allips  burst=5  nodelay;

           ………………….

}

}

参数解释:

Zone=one或allips 表示设置了名为“one”或“allips”的存储区,大小为10兆字节

rate=10r/s 的意思是允许1秒钟不超过10个请求

burst=5 表示最大延迟请求数量不大于5。 如果太过多的请求被限制延迟是不需要的 ,这时需要使用nodelay参数,服务器会立刻返回503状态码。

limit_conn one 100表示最大并发连接数100

limit_conn perserver 1000表示该服务提供的总连接数不得超过1000,超过请求的会被拒绝

2.启动nginx

  • 解压nginx压缩包
  • 命令行敲代码
    这里写图片描述

3.配置tomcat

多个Tomcat同步Session
分别修改tomcat的server.xml配置文件

  • 为元素指定jvmRoute属性名,名称保持一致
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
  • 释放开元素注释
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
  • 在项目project的web.xml中配置< distributable/>元素

nginx+tomcat+redis完成session共享
安装redis、tomcat、nginx
session同步配置

下载jar包,放入到tomcat/lib目录下

tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar

jedis-2.5.2.jar

commons-pool2-2.0.jar

修改tomcat中context.xml文件

<Context>  

    <!-- Default set of monitored resources -->  
    <WatchedResource>WEB-INF/web.xml</WatchedResource>  

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->  
    <!-- 
    <Manager pathname="" /> 
    -->  

    <!-- Uncomment this to enable Comet connection tacking (provides events  
         on session expiration as well as webapp lifecycle) -->  
    <!-- 
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
    -->  

  <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  

  <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  

   host="10.10.49.20"  

   port="6379"  

   database="0"  

   maxInactiveInterval="60" />  

</Context>  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'm the future

希望有幸帮到解决问题

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值