1、架构:
主机名 | 软件版本 | IP |
---|---|---|
nginx+php | nginx-1.15 | 192.168.10.3 |
java | jdk-1.7 | |
tomcat1 | tomcat-7.0.94 | 192.168.10.4 |
tomcat2 | tomcat-7.0.94 | 192.168.10.5 |
redis | redis-5.045 | 192.168.10.6 |
2、在nginx配置文件中把两个tomcat加入负载。
3、修改192.168.10.4 和 192.168.10.5两台服务器 tomcat的context.xml文件, 在两个content中间加上以下内容:
<WatchedResource>WEB-INF/web.xml</WatchedResource>#这一行是系统自带的
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="192.168.10.6" #这是redis服务器地址
port="6379" #这是redis运行的端口
database="0"
maxInactiveInterval="60"/>
4、将192.168.10.4和192.168.10.5两台服务器tomcat下webapps/ROOT/index.jsp内容修改为以下内容:
<html>
<head>
<title>nginx tomcat session test </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
#下面这段是显示在页面上的文字,用于获取SessionID
<body>
<h1>tomcat4</h1>#此处为了方便区分4和5,可把192.168.10.5上修改为5
session: <%=session.getId()%>
</body>
</html>
5、进入192.168.10.4和192.168.10.5两台服务器tomcat下的lib文件夹,将以下文件上传到此目录,点此下载。
6、redis部署完成并启动后,输入redis-cli进入控制台,输入info可以看到最下面没有数据库。
7、将192.168.10.4和192.168.10.5上的tomcat启动,再次操作上一步,可以看到新出现的数据库名为“0”:
8、此时打开http://192.168.10.3:80 不停的刷新页面,可以看到SessionID不变,但网页上的4和5在不停的变,目的就达到了。