`
free_bird816
  • 浏览: 205841 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Nginx+Tomcat+Memcached集群Session共享 转

 
阅读更多

环境: 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实现tomcat集群和session共享 nginx配置

    nginx+tomcat7+memcached session会话保持

    本文将详细介绍如何在Nginx、Tomcat7和Memcached的环境下实现会话保持,确保用户在多台服务器之间切换时仍能保持其会话状态。 首先,我们要理解会话保持的重要性。在分布式系统中,用户可能与集群中的任何一台...

    Nginx+Tomcat7+Memcached集群Session共享

    Nginx+Tomcat7+Memcached集群Session共享 完整例子 主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对...

    Nginx+Tomcat+Memcached集群Session共享实例

    Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果

    Nginx+Tomcat+Memcached共享session集群配置

    ### Nginx+Tomcat+Memcached 共享 Session 集群配置 #### 一、概述 在大型分布式系统中,为了实现高可用性和负载均衡,常常会使用 Nginx 作为反向代理服务器来分发请求到后端多个 Tomcat 实例上。然而,传统的基于...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分

    Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分

    Nginx+Tomcat+Memcached实现tomcat集群和session共享

    下面我们将详细探讨如何实现Nginx+Tomcat+Memcached的集群和Session共享。 **Nginx** Nginx是一款轻量级的Web服务器/反向代理服务器,以其高效的性能和低内存占用著称。在本场景中,Nginx主要负责以下任务: 1. **...

    Nginx+Tomcat+Memcached集群Session共享

    标题 "Nginx+Tomcat+Memcached集群Session共享" 描述了在分布式环境中如何通过Nginx反向代理服务器、Tomcat应用服务器集群以及Memcached缓存系统来实现Session的共享。这是一个常见的高可用性和负载均衡解决方案。...

    Nginx+Tomcat+Memcached-Session-Manager集群Session共享

    通过本篇文档,读者应该能够获得构建基于Nginx+Tomcat+MSM的集群Session共享环境的知识,并能应用这些知识进行实际操作和测试。需要注意的是,在实际操作中,环境配置细节会根据具体需求和软件版本有所不同,因此在...

    Windows + Nginx + Memcached + Tomcat 集群 session共享

    总之,Windows + Nginx + Memcached + Tomcat 集群session共享方案是一个高效且可靠的架构,它能提高系统的可用性,保证用户会话的连续性,是大规模Web应用常见的部署模式。然而,实际部署时,还需要考虑安全性、...

    nginx+tomcat集群+memcached实现session共享(适用tc7、tc8)

    兼容Tomcat7 与tomcat8 +memcached做session共享 , 解决了tomcat7与Tomcat8的 java.lang.NoSuchFieldError: attributes 错误。

    Nginx+Tomcat+Memcached实现tomcat集群和session共享.docx

    【Nginx+Tomcat+Memcached实现Tomcat集群和session共享】 在现代Web应用程序的部署中,为了提高系统的可用性和可扩展性,通常会采用集群技术。将多个Tomcat服务器组成一个集群,通过负载均衡策略分发用户请求,以...

    Nginx+Tomcat+Memcached集群

    文件"**Nginx+Tomcat+Memcached集群Session共享(tomcat7)**"可能包含了这些配置示例和必要的依赖库,如Tomcat的Memcached Session Manager (messaging)相关的jar包。 6. **性能优化**:在实际运行中,还需要关注...

    Nginx+tomcat+memcached集群session共享(win7下)所用到

    本教程将深入探讨如何在Windows 7环境下,利用Nginx作为反向代理,Tomcat作为应用服务器,以及Memcached作为分布式缓存来实现session共享。下面将详细阐述每个组件的作用以及配置过程。 1. **Nginx**: Nginx是一...

    Nginx+Tomcat+memcached实现集群部署、负载均衡session共享.rar

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"Nginx+Tomcat+memcached实现集群部署、负载均衡session共享"是一种常见的解决方案。这个方案结合了Nginx作为反向代理和负载均衡器,Tomcat作为Java应用...

    Windows7 + Nginx + Memcached + Tomcat 集群 session 共享

    集群session共享原理** 当用户访问应用时,Nginx将请求分发到一个Tomcat实例。该实例将session数据保存在Memcached中,并将session ID返回给用户。之后,无论用户请求哪个Tomcat实例,只要session ID相同,其他实例...

    Nginx+Tomcat+Memcached集群 所需jar包集合

    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

    nginx+tomcat+memcached负载均衡集群搭建许jar包大全

    Tomcat要支持memcached管理Session,需要调用一些jar库文件如下(网上有的文章中可能所说的jar包不全,或者版本不样的会报错,但这里我已经经过验证了): 1) couchbase-client-1.2.2.jar 2) javolution-5.5.1....

    nginx+tomcat+memcached实现session共享

    标题 "nginx+tomcat+memcached实现session共享" 涉及的是在分布式环境中如何通过组合使用这三种技术来管理用户的会话数据。这个话题对于构建高可用、高性能的Web应用系统至关重要,尤其是在大型网站和企业级应用中。...

    Nginx+Memcache+Tomcat集群(session共享)

    【Nginx+Memcache+Tomcat集群(session共享)】是一种常见的高可用性和负载均衡解决方案,主要用于提升Web应用的性能和可扩展性。这个配置利用Nginx作为反向代理和负载均衡器,Memcache作为分布式session存储,而...

Global site tag (gtag.js) - Google Analytics