在做session共享的时候一定要注意tomcat版本对于的jar包是不一样的。

1.完整的架构

 基于redis存储的session方案

linux下nginx+tomcat8+redis共享session

 

 此体系结构中, redis master出现故障时, 通过haproxy设置redis slave为临时master, redis master重新恢复后, 再切换回去. 此方案中, redis-master 与redis-slave 是双向同步的, 解决目前redis单点问题. 这样保证了session信息在redis中的高可用。

2.个人练习

  一、环境:linux环境

  二、架构:

linux下nginx+tomcat8+redis共享session

 

三、使用工具

          redis

          nginx

          apache-tomcat-8.0.9

          apache-tomcat-8.5.30

注:tomcat只要是8.0以上随便拿了两个

四、实现方法和步骤

       方法1: apache-tomcat-8.0.9 的端口是8080

                          apache-tomcat-8.5.30的端口是8081

                           nginx配置 upstream  test{

                                              ip_hash

                                               server  localhost :8080;

                                               server  localhost :8081;

                                              }

注:ip_hash技术能够将某个ip的请求定向到同一台后端,这样一来这个ip下的某个客户端和某个后端就能建立起稳固的session,所以在使用场景是有限的,一些nginx后还有分布式的就不能用这样的方式

       方法2: nginx配置 upstream  test{

                                               server  localhost :8080;

                                               server  localhost :8081;

                                              }           

  redis 的配置    bind 6379

                         protected-mode    on   #关闭protected-mode模式 

                         requirepass chencan  # 密码

tomcat共享需要的jar包。下载路径:tomcat8-redis-session-manager.zip

apache-tomcat-8.0.9 的端口是8080 ,apache-tomcat-8.5.30的端口是8081,把上面三个jar包放到tomcat的lib目录下,同时修改context.xml配置文件为 

       <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
       <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
        host="localhost"  <!--nginx的地址 -->     
        port="6379" 
        password="chencan" 
        database="0" 
        maxInactiveInterval="60" 
        />

 然后启动redis   ,

 重启nginx   nginx -s reload         

 重启tomcat 完成 

 看tomcat控制台可以发现在两个tomcat来回迅播。

                            

 

           

相关文章:

  • 2021-05-28
  • 2021-06-20
  • 2017-11-27
猜你喜欢
  • 2021-05-08
  • 2021-11-16
  • 2021-06-26
  • 2021-06-15
  • 2021-09-26
  • 2021-06-14
  • 2022-01-04
相关资源
相似解决方案