目标:多台tomcat 使用redis实现共享session。redis的安装请参阅:centos上安装redis
nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存、web server负载均衡等功能,由于其轻量级、高性能、高可靠等特点在互联网项目中有着非常普遍的应用,相关概念网上有丰富的介绍。分布式web server集群部署后需要实现session共享,本文主要介绍了使用 redis 服务器进行 session 统一存储管理的共享方案。
首先你需要一台机器上安装过如下软件,并进行了如下配置:
Version | Port | |
nginx | 1.8 | 80 |
tomcat_1 | 7.0.64 | 8080 |
tomcat_2 | 7.0.64 | 8090 |
redis | 2.8.19 | 6379 |
另外需要将一些jar添加到两个tomcat lib 目录,tomcat lib 增加过jar后截图如下(点击下载全部jar):
aaarticlea/png;base64,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" alt="" />
两台tomcat的conf下context.xml文件修改如下:
<?xml version='1.0' encoding='utf-8'?>
<Context> <!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
--> <!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<!--
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
--> <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost"
port="6379"
database="0"
maxInactiveInterval="60" /> </Context>
我们还需要给nginx配置文件中增加轮询机制,配置文件如下:
upstream site {
server localhost:8080;
server localhost:9080;
} server {
listen 80 default_server;
server_name 你的域名; location / {
index index_tel.jsp index.jsp 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;
}
}
最后我们进行测试,往tomcat1 ROOT下放个a.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>测试session同步</title>
</head>
<body>
这是tomcat 8080,当前sessionId:<%=session.getId()%>
<%
session.setAttribute("name","我的博客");
%>
</body>
</html>
往tomcat1 ROOT下放个a.jsp,但内容不同:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>测试session同步</title>
</head>
<body>
这是tomcat 8090,当前sessionId:<%=session.getId()%> 从session中取name:
<%=session.getAttribute("name")%>
</body>
</html>
最后我们重启两个tomcat,nginx。然后访问http://你的域名/a.jsp,会看到会切换到不同的tomcat下,但是sessionid相同,并且都可以在session中取到name这个属性的值。
下面是我的截图:
aaarticlea/png;base64,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" alt="" />
aaarticlea/png;base64,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" alt="" />