一、准备工作

中间件:Tomcat、Redis、Nginx

jar包:commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar

二、配置

Tomcat

多台Tomacat需要配置不同的端口号

/lib

将jar包存放到此位置

/conf/server.xml

/conf/context.xml

host为Redis的ip地址,port为端口,database为数据库。

Nginx

/conf/nginx.conf

upstream意为配置服务器列表,本例中开启了两台tomcat,端口分别为8080与9999。

proxy_pass意为配置代理服务器。

此配置意为监听本地(192.168.0.113)的80端口,并将请求以轮询方式转发给8080和9999的tomcat服务器。

Redis

Redis不需要特殊配置,启动即可。

三、测试

先后启动Redis服务、两台tomcat服务器、Nginx服务器。

在Tomcat启动页面加上标识,判断两台服务器中sessionId是否一致。

/webapps/ROOT/index.jsp:

四、结果

如果F5刷新页面不能切换端口对应的页面,可能是由于浏览器缓存造成。

解决方法:清除缓存刷新,alt+F5

此时可看到多个tomcat服务在不断轮询,且sessionId一致。

再用Redis桌面管理工具查看信息:

可以看到session信息已经交给Redis管理。

实现成功 。

五、弊端

此种方式依赖于tomcat容器,如果中间件换成jetty或者其他,就不受用。

还有一种较好实现方式:Spring Session + Redis

最新文章

  1. Data Binding和INotifyPropertyChanged是如何协调工作的?
  2. Zedboard安装桌面系统ubuntu及opencv(1)
  3. Linux中exec命令相关
  4. css3 转换transfrom 过渡transition 和两个@
  5. GitHub-撤销commit
  6. js显示日期时间(集锦)
  7. html、body、document、window的区别
  8. TCP拥塞控制 (1)
  9. “短路求值(Short-Circuit Evaluation)
  10. Python——模块——随机模块
  11. LoadRunner【第一篇】下载、安装、破解
  12. 自定义圆形ImageView(解决Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();报错问题)
  13. VScode快捷键、Chrome快捷键知识小总结和状态码
  14. prop和attr的比较
  15. Webpack 2 视频教程 002 - NodeJS 安装与配置
  16. System.InvalidOperationException: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
  17. (转)EasyUI 分页总结
  18. UITableView.separatorInset
  19. object与byte[]的相互转换、文件与byte数组相互转换
  20. In linux shell, How to cp/rm files by time?

热门文章

  1. 2020-04-07:假如你们系统接收十几种报文,用什么方式对应的各自的service,总不能都用if-else判断吧
  2. Linux学习日志——基本指令②
  3. 后端程序员必备的 Linux 基础知识+常见命令(近万字总结)
  4. 简单快速搭建钓鱼wifi
  5. Spark QuantileDiscretizer 分位数离散器
  6. Burp Suite 爆破high级别的DVWA
  7. 为什么 java.util.Stack不被官方所推荐使用!
  8. PhpStorm安装及破解流程
  9. cni-ipam-etcd demo
  10. Cinder Volume 服务启动流程分析和周期性任务分析