Tomcat session共享
nginx+tomcat+redis
1.redis配置(192.168.1.111:6379)
2.tomcat配置
依赖jar
Commons-Pool.jar Jedis.jar tomcat-redis-session-manager.jar
将这些jar包都丢到tomcat的lib目录下,然后配置context.xml了,将如下内容添加到context.xml中
增加的内容如下:(注意:valve标签一定要在manager前面。)
<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<ManagerclassName="com.radiadesign.catalina.session.RedisSessionManager"
host="192.168.1.111"
port="6379"
database="0"
maxInactiveInterval="60"/>
tomcat1(192.168.1.180:8080)
tomcat2(192.168.1.181:8080)
3.nginx安装在192.168.1.188。
其次,配置nginx,用于测试session保持共享。
upstream redis.xxy.com {
server 192.168.1.180:8080;
server 192.168.1.181:8080;
}
log_format www_xy_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.xxy.com;
location / {
proxy_pass http://redis.xxy.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.xxy.log www_xy_com;
}
最后,将你的应用放到两个tomcat中,并依次启动redis、tomcat、nginx。访问你的nginx,可以发现两个tomcat中的session可以保持共享了。