Nginx Tomcat 负载均衡 / Tomcat Session Redis 共享

Spring Session 项目:

https://github.com/spring-projects/spring-session

 

Maven Jar 包依赖

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>1.1.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.8.1</version>
</dependency>

 

web.xml 配置

<filter>
    <filter-name>spring-session</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    <init-param>
        <param-name>targetBeanName</param-name>
        <param-value>springSession</param-value>
    </init-param>
</filter>
 
<filter-mapping>
    <filter-name>spring-session</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

 

Spring 配置

<bean id="v2redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="169.100.99.100"/>
    <property name="port" value="6379"/>
    <property name="timeout" value="1000"/>
</bean>
 
<bean id="v2redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="v2redisConnectionFactory"/>
</bean>

<bean name="redisOperationsSessionRepository" class="org.springframework.session.data.redis.RedisOperationsSessionRepository">
    <constructor-arg ref="v2redisConnectionFactory"/>
</bean>
 
<bean name="springSession" class="org.springframework.session.web.http.SessionRepositoryFilter">
    <constructor-arg ref="redisOperationsSessionRepository"/>
</bean>

 

 

Nginx 配置

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    upstream site {
        server localhost:8180;
        server localhost:8280;
    }

    server {
        listen       80;
        server_name  www.sessionshare.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            index  index.html index.htm;
            proxy_redirect          off;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    10m;
            client_body_buffer_size 128k;
            proxy_buffers           32 4k;
            proxy_connect_timeout   3;
            proxy_send_timeout      30;
            proxy_read_timeout      30;
            proxy_pass http://site;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

 

posted @ 2016-10-14 14:56  风雨十载  阅读(121)  评论(0)    收藏  举报