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; } } }

浙公网安备 33010602011771号