环境:windows 7 + nginx-1.1.5 + memcached-1.2.6-win32-bin + apache-tomcat-7.0.20-windows-x86 + jdk-6u6-windows-i586-p(JDK 1.6,memcached-1.2.6-win32-bin下载地址:http://code.jellycan.com/files/memcached-1.2.6-win32-bin.zip。
需要用到的jar包:
memcached-2.6.jar(http://spymemcached.googlecode.com/files/memcached-2.6.jar)
javolution-5.4.3.1.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc7-1.5.1.jar
msm-javolution-serializer-1.5.1.jar
msm-kryo-serializer-1.5.1.jar
msm-xstream-serializer-1.5.1.jar
以上jar包在http://code.google.com/p/memcached-session-manager/downloads/list中都可以找到。
安装Memcached
解压缩memcached-1.2.6-win32-bin.zip,打开cmd,进入memcached-1.2.6-win32-bin目录,运行“memcached.exe –d install”安装memcached的windows服务。
安装niginx
与<<Windows下实现Nginx+Tomcat集群部署方案>>是一样的。
安装Tomcat
网上很多资料都是基于Tomcat6的,如果使用Tomcat7需要用到memcached-session-manager-tc7-1.5.1.jar,把上面说到的jar包放在Tomcat7的lib目录下。
我在测试的时候,设置了两个节点,也就是有两个Tomcat,他们主要的区别在于端口不同,因为我是在一台电脑上进行测试的。
1、server.xml修改
1)<Server port="8005" shutdown="SHUTDOWN">两个Tomcat的port分别为:8005、8006
2)<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />两个Tomcat的port分别为:8080、8081
3)<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />两个Tomcat的port分别为:8009、9009
4)<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat7-1">两个Tomcat的jvmRoute分别为:tomcat7-1、tomcat7-2
2、context.xml修改
在<Context>标签内加入以下代码:
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:localhost:11211"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"/>
测试
在两个Tomcat的webapps目录下创建test目录,在test目录下,创建index.jsp文件,文件内容如下:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster Test</title></head>
<body>
<%
//HttpSession session = request.getSession(true);
System.out.println(session.getId());
out.println("<br> SESSION ID:" + session.getId()+"<br>");
%>
</body>
</html>
我们先启动memcached,打开cmd,进入memcached-1.2.6-win32-bin目录,运行“memcached.exe –p 11211 –d start”;然后启动niginx和两个Tomcat。
打开浏览器,输入http://127.0.0.1/test,我们会看到页面上显示以下内容:
SESSION ID:D91C4F897566168C82A92AF2A36E154B-n1.tomcat7-2
“D91C4F897566168C82A92AF2A36E154B”为SessionId,“n1”为memcached的节点名称,“tomcat7-2”为目前所访问的web应用服务器的名称。
相关推荐
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
Nginx+Tomcat+Memcached共享session集群配置
Nginx+Tomcat7+Memcached集群Session共享 完整例子 主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对...
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分
Nginx+tomcat+memcached集群session共享(win7下)所用到一些zip文件和必须的jar包
Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
Nginx+Tomcat+Memcached-Session-Manager整合做集群实现Session共享,实战操作,亲测可用。本文档仅供交流学习使用,欢迎大家批评指正。
兼容Tomcat7 与tomcat8 +memcached做session共享 , 解决了tomcat7与Tomcat8的 java.lang.NoSuchFieldError: attributes 错误。
Tomcat+Memcached实现tomcat集群和session共享.docx
NULL 博文链接:https://mukeliang.iteye.com/blog/2197850
Nginx+Tomcat+memcached实现集群部署、负载均衡session共享,内含说明文档,下载地址,依赖jar包,全套提供,亲测有效
NULL 博文链接:https://shizhijian870525.iteye.com/blog/1724613
couchbase-client-1.2.2.jar ...memcached-session-manager-1.6.5.jar memcached-session-manager-tc6-1.6.5.jar minlog-1.2.jar msm-kryo-serializer-1.6.5.jar reflectasm-0.9.jar spymemcached-2.10.2.jar
Tomcat要支持memcached管理Session,需要调用一些jar库文件如下(网上有的文章中可能所说的jar包不全,或者版本不样的会报错,但这里我已经经过验证了): 1) couchbase-client-1.2.2.jar 2) javolution-5.5.1....
Nginx+Tomcat+Memcached实现tomcat集群和session共享Nginx+Tomcat+Memcached实现tomcat集群和session共享Nginx+Tomcat+Memcached实现tomcat集群和session共享
NULL 博文链接:https://jackroomage.iteye.com/blog/1936597
memcached-session-manager-1.6.3.jar memcached-session-manager-tc6-1.6.3.jar minlog-1.2.jar msm-javolution-serializer-1.6.3.jar msm-kryo-serializer-1.6.3.jar msm-xstream-serializer-1.6.3.jar reflectasm...
包含了http的集群环境,https的集群环境,同时考虑到集群环境的session问题,使用了tomcat+memcached实现tomcat集群环境共享。整个环境解压既可以使用,证书如果需要修改,直接将证书放在nginx的config目录,然后...
nginx+memcached+tomcat 负载均衡+session共享实现所有代码 教程请看:https://blog.csdn.net/dayuang2009/article/details/80312249