本文的设置的总体的框架如下图
第一步:安装tengine并设置反向代理,导向node3和node4的8080端口。
第二步:安装memcached,可以安装在另外一个服务器上,这里安装在其中一个Tomcat服务器上
安装: yum -y install memcached
启动: service memcached start
第三步:将必要的jar包拷贝到Tomcat的lib目录中
第四步:在node3_tomcat的配置中添加内容使其与memcached关联
<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.204.130:11211"
sticky="false"
lockingMode="auto"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
sessionBackupTimeout="1000"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
第五步: 修改相关配置,便于后续查看session是哪个服务器创建的
在node3_tomcat的server.xml中配置jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="client3">
在node4_tomcat的server.xml中配置jvmRoute
<Engine name="Catalina" defaultHost="localhost" jvmRoute="client4">
第六步:修改Tomcat的index.jsp内容
第七步:启动
启动nginx: service nginx start
启动memcached:service memcached start
启动两个Tomcat: /opt/apache-tomcat-7.0.61/bin/startup.sh
第八步:测试
打开浏览器,输入192.168.204.128,显示如下:
刷新,可以看到如下图:
由此可知,红框中的session以及产生session的tomcat并没有改变,改变的只是服务器,这就说明用户多次访问会显示相同的session即保持了session的一致性。
此时清除缓存或重新打开另外的浏览器访问,会产生不同的session,如下图