Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置

windows下模拟,nginx做代理负责转发请求,tomcat集群,redis负责session的共享。
  Demo资料CSDN下载

Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置_第1张图片
Paste_Image.png


1.nginx下载,配置nginx,修改nginx的nginx.conf配置文件,在http块中增加配置项

    upstream localhost {   
        #server 被代理主机ip:端口 处理的权重。
        server localhost:18881 weight=1;
        server localhost:18882 weight=1;
    }

修改http块中的location配置项,配置代理

        location / {
        proxy_pass http://localhost;
        proxy_redirect default;
        }

到nginx解压的目录下打开cmd,start nginx 启动nginx。


2.下载redis桌面管理工具下载redis,在redis.windows.conf配置文件增加如下配置

#配置最大内存
maxmemory 1048000000
#设置密码为root
requirepass root

启动redis,在cd到redis解压的目录下运行cmd,redis-server redis-windows.conf

Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置_第2张图片
Paste_Image.png


3.配置tomcat,先修改tomcat的server.xml端口配置,要接入redis管理session需要引入三个jar包放入到每个tomcat的lib目录下(如果lib出问题,启动tomcat时会报错)

Paste_Image.png

在各个tomcat配置文件context.xml中增加一段


    
    

这段就是让tomcat把session存入到redis的配置,host、port...这些都是连接redis的配置,其中database是指存到redis中的哪个库,默认情况下redis有16个库,0是第一个库。


4.启动tomcat,测试,两个不同的tomcat已经模拟共享了session

Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置_第3张图片
demoddd.gif




5.如果出现如下问题,恐怖的情况,瞬间挤爆内存,就需要注意tomcat的配置文件server.xml
一定不要有jvmRoute这个属性。

Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置_第4张图片
Paste_Image.png
Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置_第5张图片
Paste_Image.png






你可能感兴趣的:(Nginx + Tomcat7 负载均衡 + Redis3 的session共享配置)