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这里要用到Redis Session Manager for Apache Tomcat项目,https://github.com/jcoleman/tomcat-redis-session-manager 已经说的很明白了。注意,目前还不支持tomcat8。如果是tomcat6,用到的jar版本也不一样。 配置步骤,第一步:先把redis session所需的jar拷贝到{tomcat_home}/lib下。
tomcat-redis-session-manager-2.0.0.jarjedis-2.5.2.jarcommons-pool2-2.2.jar注意,有几个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标签简单介绍:
host : redis服务器地址port : redis服务器的端口号database : 要使用的redis数据库索引maxInactiveInterval : session最大空闲超时时间,如果不填则使用tomcat的超时时长,一般tomcat默认为1800 即半个小时。(经过测试,在web.xml中配置session过期时间,此时单位是秒,否则,session过期时间是30秒)。 OK,所有的配置已经完成,启动所有的tomcat看看效果。如图: