nginx+memcached+tomcat实现负载均衡和session共享

如何安装的就不介绍了,自己网上搜。


配置nginx。这个是接着上一篇cas单点登录上配置的。

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. upstream 127.0.0.1 {   
  2.                   server 127.0.0.1:18080 weight=2;    
  3.                   server 127.0.0.1:28080 weight=2;  
  4.                   server 127.0.0.1:8080 weight=3;    
  5.               }   

weight是权值,数值越大,表示被访问的机会越大。


分别修改apache-tomcat-6.0.37\conf和apache-tomcat1\conf和apache-tomcat2\conf下的context.xml和server.xml文件,在server.xml内添加:

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat6" > jvmRoute分别修改为对应的名字,比如我的apache-tomcat-6.0.37里的就修改为tomcat6,而apache-tomcat1修改为tomcat61,依次类推。


设置jvmRoute的目的是为了区分session是来自那台容器。


在context.xml内分别增加


[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
  2. memcachedNodes="n1:localhost:11211"  
  3. requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"  
  4. sessionBackupAsync="false"  
  5. sessionBackupTimeout="100"  
  6. transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"  
  7. copyCollectionsForSerialization="false"/>  

记得三个tomcat内都要增加,这个是把tomcat的session交给memcached管理。从这里可以看到依赖jar包。jar我上传上去了,下载后放到tomcat的lib内。 这里下载


配置完就差不多了。写一个测试项目吧。在\webapps下建一个nginx文件加,里面建一个index.jsp,内容如下:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. <%@ page contentType="text/html; charset=GBK" %>   
  2.    
  3. <%@ page import="java.util.*" %>   
  4.    
  5. <html><head><title>Cluster Test</title></head>   
  6.    
  7. <body>   
  8.    
  9. <%   
  10.   out.write("SESSION-ID:" + session.getId()+");  
  11. %>  
  12.    
  13. </body>   
  14. </html>  


启动nginx和memcached,然后启动三个tomcat,访问http://127.0.0.1/nginx/index.jsp,不断刷新页面,是不是看到sessionid在不断变化,说明说明问题呢?负载均衡和session共享成功了。


这个就不截图了,很简单。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值