一、Tomcat会话保持和Nginx会话保持的区别
Tomcat会话保持:解决在多台Tomcat服务器之间,如何让用户的会话数据(如登录状态、购物车内容)保持一致和可用。
Nginx会话保持:作为负载均衡器,确保同一个客户端(用户)的连续请求都被转发到同一台后端服务器
二、redis在Tomcat和nginx中的作用
在Tomcat中,Redis是作为Session数据的集中存储介质,让Tomcat自身实现无状态化。
在Nginx中,Redis可以作为存储会话路由信息的数据库,实现更智能的会话保持。
二、实现Tomcat会话保持(需要配置插件)
1.LNMP和WEB02分别配置session id 获取页面
2.配置负载均衡进行转发(刷新页面session id 会发生变化)
3.部署redis
[root@mariadb ~]# yum -y install redis
[root@mariadb ~]# vim /etc/redis.conf #修改配置文件
点击查看代码
bind 127.0.0.1 172.16.1.51 #Redis监听地址
requirepass 123456 #redis访问密码
[root@LNMP ~]# wget https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/download/4.0/tomcat-cluster-redis-session-manager.zip #下载插件安装包
[root@LNMP~]# unzip tomcat-cluster-redis-session-manager.zip #解压
[root@LNMP ~]#cp tomcat-cluster-redis-session-manager/lib/* /soft/tomcat/lib/ #配置插件
[root@LNMP ~]# cp tomcat-cluster-redis-session-manager/conf/redis-data-cache.properties /soft/tomcat/conf/ #让Tomcat能够连接到Redis,实现Session的集中存储和共享。
[root@LNMP ~] vim /soft/tomcat/conf/redis-data-cache.properties #修改配置文件中连接redis的地址
点击查看代码
redis.hosts=10.0.0.8:6379
redis.password=123456
[root@LNMP ~]#vim /soft/tomcat/conf/context.xml #实现将Tomcat Session存储到Redis中的功能
点击查看代码
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
4.同步到WEB02并重启tomcat
浙公网安备 33010602011771号