linux下nginx+tomcat8+redis共享session

session共享 同时被 3 个专栏收录
1 篇文章 0 订阅
2 篇文章 0 订阅
1 篇文章 0 订阅

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

1.完整的架构

 基于redis存储的session方案

 

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

2.个人练习

  一、环境:linux环境

  二、架构:

 

三、使用工具

          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来回迅播。

                            

 

           

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值