`
247687009
  • 浏览: 175758 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

windows下nginx+tomcat+memcache负载均衡集群搭建

阅读更多

 

使用nginx 做负载均衡 memcached处理session共享
   环境 windows 7  X64
  java : jdk7  
  nginx : 1.5.0  http://nginx.org/
  tomcat :6.37.0 X 3
  memecached : http://memcached.org/
   
   一
     1 JDK的安装不多说 
   二 安装tomcat
     在一台机器上启动多个TOMCAT :  修改 conf/server.xml 中的三个配置

这里改成三个不同的端口 如 8005,8006,8007

这里也是一样 不同的三个 如 8010,8020,8030

 
这里也是一样 不同的三个 如 8866,8877,8888


保存之后 分别启动三个TOMCAT 控制台无错误
三 : 安装memcached解压开,打开cmd 进入memcached解压到的路径D:\javaNTM\memcached 输入:
memcached.exe –d install 回车安装windows服务
输入:memcached.exe –p 11211 –d start 回车启动memcached服务 -p 表示端口
四:安装Nginx 
  下载解压,打开cmd进入 D:\javaNTM\nginx-1.5.10
输入 : start nginx
输入nginx -t 没有保存表示成功启动 
如果启动失败 请修改conf/nginx.conf 中的 charset=utf-8
五:nginx 反向代理 
        修改 conf/nginx.conf 文件

  注入 端口号要和自己的tomcat一致
  upstream tomcat{
        server    localhost:8080;
        server    localhost:8010;
        server    localhost:8020;
    }
server{
    localhost / {

     proxy_pass   http://tomcat;

proxy_redirect    off;
proxy_set_header   Host $host;
proxy_set_header   X-Real-IP $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
client_max_body_size   10m;
client_body_buffer_size   128k;
proxy_connect_timeout   90;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size   4k;
proxy_buffers   4 32k;
proxy_busy_buffers_size   64k;
proxy_temp_file_write_size  64k;

}
}
  
六:session的共享
下载如下jar包 (就是这些个jar折腾的够呛)


 
全部拷贝进TOMCAT/lib中全部的tomcat都要添加哦
然后修改 conf/context.xml
    添加如下代码:
    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
   sticky="false"
   memcachedNodes="n1:localhost:11211"
   failoverNodes=""
            lockingMode="all"
   requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico)$"
   sessionBackupAsync="false"
   sessionBackupTimeout="100"
            transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"     
    />

因为支持memcached分布式  如果有多台memcached 在 memcachedNodes="nx:IP:port" 即可
注意:这里的端口号要和启动的设置的端口一致
打开cmd 进入nginx 的解压目录 输入 nginx -s -stop  输入 nginx start  重新启动nginx依次启动三台tomcat

   在TOMCAT \webapps\ROOT 下新增一张页面 demo.jsp
<%@ page contentType="text/html; charset=UTF-8" %>   
<%@ 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>");     
  // 如果有新的请求,则添加session属性   
  String name = request.getParameter("name");   
  if (name != null && name.length() > 0) {   
     String value = request.getParameter("value");   
     session.setAttribute(name, value);   
  }     
    out.print("<b>Session List:</b>");     
    Enumeration<String> names = session.getAttributeNames();   
    while (names.hasMoreElements()) {   
        String sname = names.nextElement();    
        String value = session.getAttribute(sname).toString();   
        out.println( sname + " = " + value+"<br>");   
        System.out.println( sname + " = " + value);   
   }   
%>   
jvm1
</body>   
</html>

JVM 分别是 1 2 3 分别放进 t1 t2 t3 中 然后打开浏览器

http://localhost/demo.jsp 
多次刷新看到不同的jvm 相同的session 表示成功
nginx + tomcat + memcached 环境就搭建好了 
    

 

  • 大小: 28.3 KB
  • 大小: 42.8 KB
  • 大小: 32 KB
  • 大小: 79.9 KB
分享到:
评论

相关推荐

    Nginx+Memcache+Linux+Tomcat集群

    在搭建Nginx+Memcache+Linux+Tomcat集群的过程中,需要进行以下步骤: 1. **安装libevent**:这是Memcache的依赖库,用于事件驱动网络服务。通过`./configure --prefix=/usr`,`make`和`make install`完成安装。 2...

    性能调优 海量并发 系统架构

    基于nginx的tomcat负载均衡和集群 实现多服务器负载均衡 系统性能优化 数据库 Nginx+Squid负载均衡 配置好的集群 总共三十个文档"&gt;Apache+Tomcat+Session+Memcache 高性能群集搭建 J2EE性能调优 Jboss的优化配置 ...

    nginx+apache+mysql+php+memcached+squid搭建门户网站

    - **负载均衡器 (Nginx)**:接收客户端请求,并将其分发至不同的后端服务器。 - **反向代理/缓存 (Squid)**:作为中间层,可以缓存经常被访问的数据,减轻后端服务器的压力。 - **WEB服务器 (Apache, PHP)**:处理...

    tomcat9+memcached+memcachedSessionManagerjar.zip

    综合以上信息,这个压缩包提供了在Windows环境下,使用Tomcat 9、Memcached和Nginx实现一个负载均衡的Web服务集群的配置示例。具体操作步骤可能包括: 1. 安装并配置Nginx作为反向代理和负载均衡器。 2. 在多台...

    Ngxin+双tomcat负载+mem做session共享

    在构建高可用和高性能的Web应用环境中,...通过以上步骤,你已经成功搭建了一个使用Nginx+双Tomcat负载均衡和Memcache进行会话共享的Web应用环境。这种架构提高了系统的可扩展性和可用性,同时保证了用户会话的一致性。

    tomcat集群安装配置_session.doc

    - 配置文件中包含了转发规则,按照IP哈希方式进行负载均衡。 - **Libevent安装**:解压源码包后,执行 `./configure`、`make` 和 `make install` 进行安装。 - **Memcached安装**:同样地,先解压源码包,然后...

    tomcat 配置宝典

    Tomcat集群可以提高Web应用的可用性和负载均衡能力。通过将多个Tomcat实例组合在一起,可以实现高可用性和横向扩展。 **Nginx篇** **Nginx简介** Nginx是一款高性能的HTTP和反向代理服务器,常被用来作为负载均衡...

    基于Docker,构造测试和生产环境 (毕设&课设&实训&大作业&竞赛&项目)

    Nginx是一款高性能的HTTP和反向代理服务器,常用于负载均衡、缓存静态内容等场景。本项目特别提到了使用淘宝源的nginx镜像,这可能意味着使用经过特别优化的版本以满足更高的性能需求。 Tomcat是另一个关键组件,它...

    Java高级架构必备知识点

    - **Nginx负载均衡/反向代理实现**:配置Nginx实现负载均衡和反向代理。 **7.14 双十一专题-九阳真经** - **太极聚气之分布式压测平台**:构建分布式压力测试平台。 - **氤氲紫气之分布式缓存体系**:构建高效的...

    运维工程师岗位职责-规章制度.docx

    - 对WEB高并发负载均衡技术、CDN、各类缓存技术有一定的了解。 6. **脚本语言能力:** - 熟悉使用Shell、Python、PHP等脚本语言。 7. **英语能力:** - 具有一定的阅读英文技术文档的能力。 8. **个人品质:**...

Global site tag (gtag.js) - Google Analytics