一.环境介绍
Linux: ubuntu16.04 64位系统
Nginx: 版本1.13.0
Tomcat: 版本7.0
Redis: 3.0.4
使用nginx做负载均衡, 2台tomcat应用服务器, 使用redis统一存储session
修改nginx.conf配置文件
修改标红色的地方。
重启服务生效。
nginx关闭命令: /usr/local/nginx/sbin/nginx -s stop
nginx启动命令:/usr/local/nginx/sbin/nginx
tomcat配置redis
这里要用到Redis Session Manager for Apache Tomcat项目,https://github.com/jcoleman/tomcat-redis-session-manager 已经说的很明白了。注意,目前还不支持tomcat8。如果是tomcat6,用到的jar版本也不一样。
配置步骤,第一步:先把redis session所需的jar拷贝到{tomcat_home}/lib下。注意,有几个tomcat集群,就要copy几份。
第二步:修改{tomcat_home}/conf下的context.xml文件,加入如下配置:
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="localhost" port="6379" database="6" maxInactiveInterval="3600" />
- 1
注意:value标签必须在manager标签之前。 manager标签简单介绍:
OK,所有的配置已经完成,启动所有的tomcat看看效果。如图:
- host : redis服务器地址
- port : redis服务器的端口号
- database : 要使用的redis数据库索引
- maxInactiveInterval : session最大空闲超时时间,如果不填则使用tomcat的超时时长,一般tomcat默认为1800 即半个小时。(经过测试,在web.xml中配置session过期时间,此时单位是秒,否则,session过期时间是30秒)。