tomcat8.5和redis实现session共享

1. 问题

​ 由于之前看其他资料配置的session共享没注意自己tomcat的版本所以出现了诸多问题,tomcat8.5和之前版本的配置是不一样的。

2. 配置

​ ①将如图所示三个jar包放入tomcat的lib目录下
链接:https://pan.baidu.com/s/19Ua-uHVuWZLPOO88b4cjYA
提取码:wcnm

​ ②创建一个动态web项目,可以写一个输出session和端口号的jsp页面

​ ③第二步的动态web项zheli目编写完成后,然后分别启动这俩个tomcat,防止端口冲突,需要分别修改这俩个tomcat目录中server.xml文件,将其中所有port 属性都进行修改

​ ④分别在启动的tomcat的目录下找到context.xml文件,然后在其最后添加如下内容 ,

<Valve className="com.s.tomcat.redissessions.RedisSessionHandlerValve"/> 
<Manager className="com.s.tomcat.redissessions.RedisSessionManager" 
		  host="x.x.x.x"<!-- 这里填写自己redis所在服务器的ip-->
		  port="6379"<!-- 这里填写自己redis的端口号 -->
		  database="0" 
		  maxInactiveInterval="60" /> 

​ ⑤重启redis,配置nginx.conf

http {
......
    upstream myserver{
        ip_hash;
        server x.x.x.x:yyyy weight=1;//注意这里添加自己本机的ip和tomcat启动的端口号
        server x.x.x.x:yyyy weight=1;
    }

    server{
    location / {
    .........
    proxy_pass http://myserver;
    proxy_connect_timeout 10;
   			   }

	}
}

​ ⑥重启nginx,重新启动这个项目中的俩个tomcat,通过浏览器访问观察session和输出的端口号

posted @ 2020-02-23 20:38  pavi  阅读(454)  评论(3编辑  收藏  举报