Nginx在负载均衡条件下实现Session共享

Nginx在负载均衡条件下实现Session共享

Nginx在负载均衡条件下实现Session共享存在两种方式:

(1)Redis共享Session:

【准备三台服务器】:

IP:10.13.5.10  作为负载均衡服务器 和 redis 服务器

IP:10.13.5.11  项目服务器01

IP:  10.13.5.12  项目服务器02

本文采用的是基于Nginx做JavaWeb负载均衡

(1)在同一台服务器进行测试更改端口号的方式,页面返回的SessionID是一样的

(2)向Session存值也是保证取值跳转两个Tomcat同一台服务器的不同端口号的访问一致

redis中的keys如图:

Nginx在负载均衡条件下实现Session共享_第1张图片

【注意事项】:

1、一定要保证nginx.conf 中的location / {}  , ‘/’ 之后不要加任何uri  加了就实现不了。

2、一定要保证是同一个项目,就算只是改了html 中的几个字符,有时候Session 共享还是会失效!!!

点击下载 :项目地址链接

(2)Tomcat共享Session: 

 (a)修改tomcat 下 conf/context.xml  在里面加入以下代码

  

(b)在tomcat lib下 加入以下三个jar包 

commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manage-tomcat7.jar

【调试成功条件】: 访问项目成功,可以在 redis 中查看到 既成功

【参考文献】:Nginx 负载均衡条件下 Redis 共享Session (Java)(二)

 

你可能感兴趣的:(架构,Nginx)