nginx+tomcat+redis 负载均衡和session共享

来源:互联网 发布:1024控台控制帕灯编程 编辑:程序博客网 时间:2024/06/06 04:13

因项目需要,在centos虚拟机中配置部署了2台tomcat机器并设置了session共享,在此记录下来,方便以后查看。有什么不对的地方,欢迎同行指正,哈哈。
一:tomcat配置
1.修改tomcat的conf目录的context.xml
在标签里加入以下代码
注意: className中配置的类必须和tomcat-redis-session的那个jar包对应,不然启动的时候会报错,比如启动不了啊,类找不到啊等

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />      <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"               host="127.0.0.1"               port="6388"               database="0"               password="gxb_redis"               maxInactiveInterval="60" />

2.将以下四个包放到tomcat的lib目录下
需要的jar

tomcat 配置完毕以后重新启动
二:nginx配置
把关键代码贴出来,需要完整的请留言邮箱

   #设定负载均衡的服务器列表  mysvr 表示负载均衡器的名称    upstream mysvr{             server 127.0.0.1:8081 weight=2 max_fails=1 fail_timeout=10s;        server 127.0.0.1:8082 weight=4 max_fails=1 fail_timeout=10s;    } location / {        root   html;    #定义服务器的默认网站根目录位置        index  index.html index.htm;        #请求转向mysvr 定义的服务器列表        proxy_pass  http://mysvr ;   }

三:redis
redis不用再做额外的配置,只需安装启动即可
四:验证是否成功
1.第一种方式:如果配置成功,可以在redis中看到session的key-value

127.0.0.1:6388> keys *1) "5EA927E533814132697BD28A4C934233"127.0.0.1:6388> get 5EA927E533814132697BD28A4C934233"\xac\xed\x00\x05sr\x00Dcom.orangefunction.tomcat.redissessions.SessionSerializationMetadataB\xd9\xd9\xf7v\xa2\xdbL\x03\x00\x01[\x00\x15sessionAttributesHasht\x00\x02[Bxpw\x14\x00\x00\x00\x10\x1c\x1f\xd4\xa1k\x1aq\xd3u\xfbe\xbffJ\x8c\xabxsr\x00\x0ejava.lang.Long;\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01X$\xaa\x1d\xf2sq\x00~\x00\x03\x00\x00\x01X$\xaa\x1d\xf2sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexq\x00~\x00\x04\x00\x00\a\bsr\x00\x11java.lang.Boolean\xcd r\x80\xd5\x9c\xfa\xee\x02\x00\x01Z\x00\x05valuexp\x01q\x00~\x00\nsq\x00~\x00\x03\x00\x00\x01X$\xaa\x1d\xf2t\x00 5EA927E533814132697BD28A4C934233sq\x00~\x00\a\x00\x00\x00\x00w\b\x00\x00\x01X$\xaa\x1d\xf2"

2。第二种方式:直接在页面输出sessionId即可
比如我的index.jsp首页,tomcat8081对应的这个首页内容

 <h1>欢迎来到jfinal</h1><br/>     项目路径 ====<%=basePath %><br/>    <%=session.getId() %>

tomcat8082 对应另一个首页内容

<h1>欢迎来到jfinal2</h1><br/>     项目路径 ====<%=basePath %><br/>    <%=session.getId() %>

浏览器访问如下图(跳转到了不同的首页,但是sessionId一致):
这里写图片描述
这里写图片描述

大功告成。。。。。。。。。。。。

0 0
原创粉丝点击