使用redis共享tomcat多节点session,需要安装redis、nginx、tomcat6以及用于tomcat存储session到redis的jar包:tomcat-redis-session-manager-1.2-tomcat-6.jar、

commons-pool-1.6.jar、jedis-2.1.0.jar等。这些jar包、配置文件及demo程序可以在最后的demo地址中下载。

下面是对tomcat、nginx进行配置及运行:

1.把demo包中的jar包拷贝到tomcat的lib目录中:

2.配置tomcat的context.xml文件:

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>;
<Manager className="com.radiadesign.catalina.session.RedisSessionManager" host="localhost" port="6379" database="0" maxInactiveInterval="60"/>; 

3.配置tomcat的server.xml:

对于不同的tomcat,以下几个port配置成不同的值如:
tomcat1:
<Server port="8007" shutdown="SHUTDOWN"><Connector port="18080" protocol="org.apache.coyote.http11.Http11Protocol" connectionTimeout="20000" redirectPort="8444" /><Connector port="8019" protocol="AJP/1.3" redirectPort="8444" />
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
tomcat2:
<Server port="8008" shutdown="SHUTDOWN"><Connector port="18081" protocol="org.apache.coyote.http11.Http11Protocol" connectionTimeout="20000" redirectPort="8445" /><Connector port="8029" protocol="AJP/1.3" redirectPort="8445" /><Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

4.配置nginx集群:

对nginx.conf进行配置:upstream tomcat {server 127.0.0.1:18080;server 127.0.0.1:18081;}server {listen       8080;server_name  127.0.0.1;   location / {proxy_redirect          off;    proxy_set_header        Host            $host;    proxy_set_header        X-Real-IP       $remote_addr;    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;    client_max_body_size    10m;    client_body_buffer_size 128k;    proxy_buffers           32 4k;  proxy_connect_timeout   3;    proxy_send_timeout      30;    proxy_read_timeout      30;   proxy_pass http://tomcat;}}

5.把demo.war程序放入到tomcatde webapps中:

修改demo中的index.jsp中的内容,不同的tomcat中,内容不一样。如下:

tomcat1中的demo:tomcat1:<%=session.getId() %>tomcat2中的demo:tomcat2:<%=session.getId() %>

6.启动nginx,redis、tomcat1、tomcat2:

打开浏览器,输入地址:http://localhost:8081/demo

7.按F5刷新页面:

我们可以看到页面,不管我们怎么刷新,只有前面的tomcat的标识发生变化,而后面的sessionID是固定的如下:

tomcat1:8EA77B42358EFC1CD1F5FBC7246A1317.tomcat1tomcat2:8EA77B42358EFC1CD1F5FBC7246A1317.tomcat1

如果出现以上的结果说明共享session成功了,如果大家在尝试过程中出现什么问题,可以给我留言。

8.demo下载地址:

使用redis在nginx负载下tomcat6多节点共享session

使用redis解决tomcat6在nginx负载下多节点共享session问题相关推荐

  1. 成功解决ThinkPad T14 高负载下CPU降频问题

    本人机器是ThinkPad T14 , CPU是 Intel i5-10210U,随着气温的升高,发现机器越来越卡,特别是在运行大型软件和处理大型文档的时候,看了下任务管理器,高负载时CPU不仅没有睿 ...

  2. Redis解决websocket在分布式场景下session共享问题

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/weixin_45089791/article/ details/118028312 在显示项目中 ...

  3. nginx负载均衡基于ip_hash的session粘帖

    nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个. nginx的upstre ...

  4. Nginx负载均衡监控节点状态

    利用第三方插件监控(淘宝开发的Tengine) 模块:nginx_upstream_check_module 实现web界面 下载补丁包 wget https://codeload.github.co ...

  5. nginx负载均衡 加权轮询和ip_hash

    下面给大家总结了几种真正的nginx负载均衡的功能了,在此我们加了一个权重判断法就是根据nginx负载的状态实现分配访问用户到权重值少的机器了,具体配置如下. nginx为后端web服务器(apach ...

  6. 实战windows下nginx负载均衡(请勿转载)

    目录: 1:什么是nginx 2:搭建环境.配置 3:前提条件:缓存共享session =========================================== 1.0背景 对于一个大型 ...

  7. windows下nginx负载均衡

    目录: 1:什么是nginx 2:搭建环境.配置 3:前提条件:缓存共享session =========================================== 1.0背景 对于一个大型 ...

  8. nginx Win下实现简单的负载均衡(2)站点共享Session

    快速目录: 一.nginx Win下实现简单的负载均衡(1)nginx搭建部署 二.nginx Win下实现简单的负载均衡(2)站点共享Session 三.nginx Win下实现简单的负载均衡(3) ...

  9. Redis 高负载下的中断优化

    背景 2017年年初以来,随着Redis产品的用户量越来越大,接入服务越来越多,再加上美团点评Memcache和Redis两套缓存融合,Redis服务端的总体请求量从年初最开始日访问量百亿次级别上涨到 ...

  10. Nginx与Redis解决高并发问题

    Nginx与Redis解决高并发问题 参考文章: (1)Nginx与Redis解决高并发问题 (2)https://www.cnblogs.com/nucdy/p/5516511.html 备忘一下.

最新文章

  1. 53.C#--多线程
  2. 企业网络高级技术第二章STP实验
  3. java 互斥量_什么是Java中的互斥和信号量?主要区别是什么?
  4. mysql buffer used_MySQL性能调优(软调优)
  5. python文件处理seek_python文件操作 seek(),tell()
  6. 第二章. node中的模块和require
  7. Python成长之路【第七篇】:Python基础之装饰器
  8. 如何写登录的记住账号
  9. CSRF的绕过与利用
  10. 【css】CSS中折叠margin的问题
  11. 江苏计算机专业,行情火爆的计算机专业:江苏计算机专业高校最低录取分排序...
  12. 【Antlr】修改由Antlr生成的表示式?替换遍历方式?
  13. 【算法14】找出数组中两个只出现一次的数字
  14. linux pn,Linux环境变量设置--总结
  15. 语音识别及其定点DSP实现
  16. 人工智能3d建模算法_黑科技 | 3D人脸建模可以多简单?一张照片就搞定!
  17. Oracle 11g ora 15018,OracleASM错误之--ORA-15031、ORA-15014
  18. 最新版Java零基础入门阶段学习教程汇总(无比全面,我收藏了!!!)
  19. CONFIG_ARM64_MODULE_PLTS 的作用
  20. 福昕pdf Acrobat DC pdf 右键菜单注册表

热门文章

  1. FPGA实现数字相敏检波(DPSD)
  2. Java实用教程-Java基本语法-Java程序的构成
  3. 【1.Delphi基础】1.Delphi程序设计入门
  4. 电机轴承的检查和安装方法
  5. wxwindows qt
  6. python实验教程_python语言程序设计实践教程实验七
  7. android 第三方圆弧进度条,Android 圆弧进度条 水平进度条 水波进度条
  8. 好用的论文翻译工具集锦
  9. 【每日一具18】基于HTTP协议的局域网文件共享软件
  10. Python根据歌曲id爬取网易云音乐歌词