`

Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(二)

 
阅读更多
一、Memcached的安装和配置

 

1、 Memcached的安装

 

      将安装包 memcached-1.2.6-win32-bin解压到X:/目录下面,重命名为memcached。打开命令提示符,进入X:/memcached 的目录,输入安装命令“memcached.exe –d install”,安装memcached的windows服务,然后输入“memcached -d start”,以后memcached将作为windows的一个服务每次开机时自动启动。默认端口:11211。

 

      下面插入介绍一些memcached的常用命名,也是最基本的命令,不然你启动了memcached,不知道怎么停止这个服务了,也不知道是否已经启动该服务。

 

     (1) 查看memcached的服务是否已经启动:tasklist /fi "imagename eq memcached.exe",如下图

Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(三) - 落羽 - 落羽

 

(2)  memcached参数使用介绍(Win7用户要以管理员身份启动命令窗口哦!)

     -p 监听的端口
     -l 连接的IP地址, 默认是本机
     -d start 启动memcached服务
    -d restart 重起memcached服务
    -d stop|shutdown 关闭正在运行的memcached服务
    -d install 安装memcached服务
    -d uninstall 卸载memcached服务
    -u 以的身份运行 (仅在以root运行的时候有效) 
    -m 最大内存使用,单位MB。默认64MB
    -M 内存耗尽时返回错误,而不是删除项
    -c 最大同时连接数,默认是1024
    -f 块大小增长因子,默认是1.25
    -n 最小分配空间,key+value+flags默认是48
    -h 显示帮助

 

 

 

2、memcached的配置

 

(1)把《Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(一)》中提到的jar包(总共是5个),COPY到两个TOMCAT安装目录下的lib/中。

 

(2)修改文件$TOMCAT/conf/context.xml(两个tomcat中的都需要修改),在Context标签中加入如下代码:

 

 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" 

  memcachedNodes="n1:localhost:11211"   //目前机器只安装了一个memcached,所以这里只写一个节点OK。
  requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$" 
  sessionBackupAsync="false" 
  sessionBackupTimeout="100"
  transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"   //序列化类
  copyCollectionsForSerialization="false"/>

 

更多信息,请查看:http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration

 

 

一、Nginx的安装和配置

 

1、Nginx的安装

 

将安装包nginx-1.3.0.zip解压到X:/目录,目录重命名为nginx。到这里为止,我表示已经安装完成啦!

 

启动Nginx:进入X:/nginx目录,执行命令:start nginx.exe,弹出屏会一闪而逝。接着输入tasklist /fi "imagename eq nginx.exe",出现如下内容,表示nginx已正常启动啦!在浏览器输入http://localhost,可以看到Nginx的欢迎页。

Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(三) - 落羽 - 落羽

 

更多Nginx常用命令:

停止Nginx:nginx.exe -s stop|quit

 

重启Nginx:nginx.exe -s reload

 

查看Nginx版本:nginx.exe -v

 

参考页面:http://hi.baidu.com/ihanxo/blog/item/6d3a8a2688d24ce8d6cae201.html

 

 

 

2,Nginx的配置

 

修改文件$NGINX_HOME/conf/nginx.conf。

 


  #设定负载均衡的服务器列表

 

     upstream 127.0.0.1 {

 

         #weigth参数表示权值,权值越高被分配到的几率越大

 

         server 127.0.0.1:8081 weight=1;

 

         server 127.0.0.1:8082 weight=1;

 

     }

 

  
    server {
        listen       80;
        server_name  localhost;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass    http://127.0.0.1;
        }

 

     }

 

     红色部分是需要在nginx.conf中添加的内容。

 

     黑色粗体表示当前Nginx监听的主机名和端口号,在浏览器中测试的时候需要输入的内容。

 

    proxy_pass表示代理主机,upstream 127.0.0.1 {……}配置中配置了代理主机处理请求的两个服务。

 

    上述配置表示:Nginx监听到http://locahost:80的请求之后,转发到代理127.0.0.1中的两个服务中的一个,有它们来处理请求。weight表示被分配到权重,weight值越大,处理请求的机会越多。

 

    至此,Nginx的安装与配置结束。

 

配置工作已经结束了,马上开始测试吧!(记得以管理员身份启动命令提示符窗口

 

1、启动memcached:进入X:/memcached目录,执行memcached.exe -d start;

 

2、启动Nginx:进入X:/nginx目录,执行start nginx.exe;

 

3、启动两个TOMCAT,分别进入$TOMCAT_HOME/bin目录,执行start.bat;

 

4、准备测试页面test.jsp。

 

<%@ page contentType="text/html; charset=GBK" %>

 

<%@ page import="java.util.*" %>

 

<html><head><title>Cluster Test (TOMCAT1|TOMCAT2)</title></head>

 

<body>

 

<%

 

System.out.println(session.getId());

 

out.println("<br> This is (TOMCAT1|TOMCAT2), SESSION ID:" + session.getId()+"<br>");

 

%>

 

</body>

 

</html>

 

      不同的Tomcat下放置不同的文件,以便从结果中看出SESSION共享的效果,即:不论是访问TOMCAT1还是TOMCAT2,session都是不变的,同一个sessioin。

 

在浏览器输入http://localhost/test.jsp,然后不停的刷新页面,即可看到效果了。

 

我的页面效果:

Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(四) - 落羽 - 落羽

Windows7 + Nginx + Memcached + Tomcat 集群 session 共享(四) - 落羽 - 落羽

 

结果说明:n1:memcached节点ID,我们在$TOMCAT/conf/context.xml中仅配置了一个节 点,ID为“n1”,显示的sessionID就是存储在这个节点上的,后面跟着的tomcatN,表示目前所访问的web应用服务器的名称,这个值 在$TOMCAT_HOME/conf/server.xml中的<Engine>标签的jvmRoute属性中已配置。

 

 

 

  《Windows7 + Nginx + Memcached + Tomcat 集群 session 共享》写完啦!欢迎各位读者提问和转载,转载请注明出处,谢谢!

 http://blog.163.com/xiaohui_1123@126/blog/static/39805240201258061794/

 

分享到:
评论

相关推荐

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

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

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

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

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

    本主题将详细探讨如何在Windows7环境下,利用Nginx作为负载均衡器,Memcached作为session存储,以及Tomcat作为应用服务器,实现session共享。 **1. Nginx介绍与配置** Nginx是一款高性能的HTTP和反向代理服务器,它...

    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实现tomcat集群和session共享.docx

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

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

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

    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 可看效果

    lvs+keepalived+nginx+tomcat+memcached实现服务负载均衡及session共享

    通过将session数据存储在memcached中,多台tomcat服务器可以共享同一份session,保证了用户在不同服务器间的会话一致性。 实现过程大致如下: 1. 配置lvs作为第一层负载均衡器,根据业务需求选择合适的调度策略。 ...

    nginx+tomcat7+memcached session会话保持

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

    tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡

    本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7是一款流行的开源Java Servlet容器,它支持Servlet、JSP和Java EE 6规范。通过创建多个...

    Nginx+Tomcat+Memcached集群Session共享

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

    memcached+tomcat7共享session所需要的jar包

    标题中的“memcached+tomcat7共享session所需要的jar包”是指使用Memcached作为分布式缓存系统,实现Tomcat7服务器间的Session共享。这通常是为了在集群环境中解决Session复制或粘滞会话的问题,提高Web应用的可扩展...

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

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

    nginx tomcat memcached 集群 session共享

    这里我们讨论的主题是如何通过Nginx、Tomcat和Memcached来实现集群环境下的session共享。Nginx作为反向代理服务器,负责负载均衡,Tomcat作为应用服务器运行Java Web应用程序,而Memcached则作为分布式内存缓存系统...

    windows下Nginx+memcached+Tomcat集群配置实现session共享与负载均衡

    通过以上步骤,你已经配置了一个基本的Windows环境下的Nginx+memcached+Tomcat集群,实现了session共享和负载均衡。用户请求将被Nginx均匀分配到各个Tomcat实例,而session数据则通过memcached在不同Tomcat之间保持...

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

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

    tomcat7+memcached+nginx 集群架包(无ngnix架包)

    【标题】"tomcat7+memcached+nginx 集群架包(无ngnix架包)"指的是一个用于构建高性能、可扩展的Web应用集群的解决方案,但不包括nginx配置部分。在这个架构中,Tomcat7作为Java应用服务器处理HTTP请求,Memcached...

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

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

Global site tag (gtag.js) - Google Analytics