nginx完成session共享

首先安装niginx,跟redis

然后准备两个tomcat,修改他们的端口号

修改nginx.conf加上:

[html] 

upstream backend {  

  server 10.10.49.23:8080 max_fails=1 fail_timeout=10s;  

  server 10.10.49.15:8081 max_fails=1 fail_timeout=10s;  

}  

修改nginx.conf的location成

location / {  

    root   html;  

    index  index.html index.htm;  

   proxy_pass http://backend;  

 }  

下载tomcat-redis-session-manager相应的jar包,主要有三个:

tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar,jedis-2.5.2.jar,commons-pool2-2.0.jar下载完成后拷贝到$TOMCAT_HOME/lib中

修改两tomcat的context.xml:

<Context>  

    <!-- Default set of monitored resources -->  

    <WatchedResource>WEB-INF/web.xml</WatchedResource>  

  

   <!-- Uncomment this to disable session persistence across Tomcat restarts -->  

    <!-- 

    <Manager pathname="" /> 

    -->  

  

    <!-- Uncomment this to enable Comet connection tacking (provides events  

         on session expiration as well as webapp lifecycle) -->  

    <!-- 

    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 

    -->  

    <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />  

  <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"  

   host="10.10.49.20"  

   port="6379"  

   database="0"  

   maxInactiveInterval="60" />  

</Context>  

在tomcat/webapps/test放一个index.jsp

<%@ page language="java" %>  

  1. <html>  
  2.   <head><title>TomcatA</title></head>  
  3.   <body>  
  4.    
  5.     <table align="centre" border="1">  
  6.       <tr>  
  7.         <td>Session ID</td>  
  8.         <td><%= session.getId() %></td>  
  9.       </tr>  
  10.       <tr>  
  11.         <td>Created on</td>  
  12.         <td><%= session.getCreationTime() %></td>  
  13.      </tr>  
  14.     </table>  
  15.   </body>  
  16. </html>  
  17. sessionID:<%=session.getId()%>   
  18. <br>   
  19. SessionIP:<%=request.getServerName()%>   
  20. <br>   
  21. SessionPort:<%=request.getServerPort()%>   
  22. <%   
  23. //为了区分,第二个可以是222  
  24. out.println("This is Tomcat Server 1111");   
  25. %>    

开启niginx服务

通过访问http://端口号/test/

175901_KgsF_3459265.png

刷新

 

180137_Xk0x_3459265.png

可以看到虽然Server从1111变为2222,但session的创建时间没有变化,这就完成了session共享。

转载于:https://my.oschina.net/u/3459265/blog/1593349

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值