欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx_tomcat_redis搭建负载均衡共享session

程序员文章站 2022-03-01 17:09:20
...

注意:所有使用的架包都已经在这里面了,目标不支持tomcat8经过查询源码,发现tomcat自带架包缺少,tomcat集成redis架包中的类RedisSessionManager有使用到LifecycleSupport类,而LifecycleSupport这个类在tomcat架包中不存在,目前基于tomcat 7来搭建环境。

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

结构图如下:

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

下面是使用配置步骤:

第一步:配置Nginx服务器

1、  配置Nginx代理服务器,主要用来解决反向高并发代理问题,我用的版本nginx-1.9.5

先要进入conf文件夹找到nginx.conf,打开配置如下图所示

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

 

  1.  upstream localhost {
  2.     #weigth参数表示权值,权值越高被分配到的几率越大
  3.         server localhost:8080 weight=1;
  4.         server localhost:8081 weight=1;
  5.     }

2、  启动Nginx服务器、可以直接点击nginx.exe文件也可以通过cmd命令进入到目录下通过命令行来启动

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

 

第二步:配置tomcat

1、  在conf目录下,找到server.xml文件,配置端口号,因为要多个tomcat所以复制两份tomcat就可以啦,只是访问的端口号不同,先配置两个端口号8080、8081

注意的是要修改其中一个端口,防止在启动的时候发生端口冲突

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

2、  配置context.xml,需要加上这行配置,主要用来tomcat和redis第三方架包共享session存储,因为经常会遇到session丢失问题,所以通过redis来存储

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

这里就要注意了,因为网上很多架包都有问题的,要看清楚自己的tomcat版本

前面的host是redis数据库部署的服务器ip地址,port是端口号,database是哪个数据库,maxInactiveInterval是最大空闲时间

 

第三步:配置redis数据库

1、  配置redis数据库,redis-2.4.5-win32-win64这个版本直接可以使用启动里面的服务即可redis-server.exe

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

2、  通过客户端插件链接redis可以看到

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

 

第四步:测试、在tomcat/webapp/root目录下放入一个jsp页面进行测试下

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布

发现sessionid已经是相同的了说明已经共享了,再去redis数据库看看sessionid有没有存入进去

nginx_tomcat_redis搭建负载均衡共享session
            
    
    博客分类: web 负载均衡、javaweb高并发性处理集群分布