Nginx和Tomcat的session处理

NginxTomcatsession处理分为两步:

 

第一步,解决NginxTomcat的负载均衡;

第二步,解决Tomcat集群和Memcached存储会话。

 

我们的这个案例是这样的在IP192.168.3.139这台机器上安装了Tomcat1Memcached1,而在IP192.168.3.140这个台机器上安装了Tomcat2Memcached2,对于Tomcat1Memcached1Tomcat2Memcached2只是一个叫法而已,它们是完全一样的。在配置时要实现以下功能,参考了如下的官方文档:

 

http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

 

看下面的图:

  

< Tomcat1>  < Tomcat2>

 
  
 
  
 
  

< Memcached1>  < Memcached2>

 

    在正常情况下,换句话说就是Tomcat1Memcached1Tomcat2Memcached2都正常工作的时候,Tomcat1 会将session ID存储在Memcached2中,同理Tomcat2 会将session ID存储在Memcached1中,但是如果其中的一个Memcached出现了问题,与其对应的Tomcat就会将session ID存储在另一个Memcached中。为什么这样做呢?如果运行在同一台机器上TomcatMemcached同时倒掉(这种情况多数是系统崩溃)时,用户的会话不会丢失。

 

    这样的结构实现了只要有一个Tomcat、一个Memcached不失效就可以正常工作。

 

第一步,解决NginxTomcat的负载均衡

 

    这一步比较简单,在Nginx的配置文件中添加如下内容:

   

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

 

   upstream  tomcat   {

              server   192.168.3.139:8080;

              server   192.168.3.140:8080;

    }

 

   server {

        listen       80;

        server_name  localhost;

     

 

 location  / {

            root   html;

            index  index.html index.htm;

            proxy_pass        http://tomcat;

            proxy_set_header  X-Real-IP  $remote_addr;

            client_max_body_size  80m;

        }

……

}

 

……

}

 

 

 

然后再重新启动Nginx就可以了。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-733713/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27043155/viewspace-733713/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值