Redis解决Tomcat共享Session

1.redis配置(192.168.0.11:16300)

2.tomcat配置

        tomcat1(192.168.0.10:8081)

        tomcat2(192.168.0.10:8082)

 3.nginx安装在192.168.0.11。

       首先,是配置tomcat,使其将session保存到redis上。有两种方法,也是在server.xml或context.xml中配置。

    <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
             host="192.168.0.11"  
             port="16300"   
             database="0"   

             maxInactiveInterval="60"

    />  



其次,配置nginx,用于测试session保持共享。


    upstream  redis.test.com  {  
          server   192.168.0.10:8081;  
          server   192.168.0.10:8082;  
    }  
      
    log_format  www_test_com  '$remote_addr - $remote_user [$time_local] $request '  
                   '"$status" $body_bytes_sent "$http_referer"'   
                   '"$http_user_agent" "$http_x_forwarded_for"';  
      
    server  
    {  
          listen  80;  
          server_name redis.test.com;   
      
          location / {  
                   proxy_pass        http://redis.test.com;  
                   proxy_set_header   Host             $host;  
                   proxy_set_header   X-Real-IP        $remote_addr;  
                   proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;  
          }  
      
          access_log  /data/base_files/logs/redis.test.log  www_test_com;  
    }  



最后,将你的应用放到两个tomcat中,并依次启动redis、tomcat、nginx。访问你的nginx,可以发现两个tomcat中的session可以保持共享了。

你可能感兴趣的:(Redis解决Tomcat共享Session)