zoukankan      html  css  js  c++  java
  • Nginx 均衡负载

    Nginx集群配置

    首先要把3个虚拟主机的域名(a.ieread.com、b.ieread.com、c.ieread.com)都指向到nginx机的公网ip上。 然后还是修改nginx的配置文件nginx.conf: 配置文件中upstream段还是保持不变,依旧是3个tomcat集群机的地址及负载因子:

    1
    2
    3
    4
    5
    
    upstream tomcats {
      server 192.168.0.11:8080 weight=1;
      server 192.168.0.12:8080 weight=1;
      server 192.168.0.13:8080 weight=1;
    }

    因为有3个应用,所以应该有3个server段,这里只写其中一个,其他两个只需要修改一下server_name即可:

    1
    2
    3
    4
    5
    
    upstream tomcats {
      server 192.168.0.11:8080 weight=1;
      server 192.168.0.12:8080 weight=1;
      server 192.168.0.13:8080 weight=1;
    }

    proxy_set_header是nginx的http代理模块中的一个指令。 在nginx中的默认proxy是只能对后面real server做端口转发的,而不能做域名转发,即默认的是: proxy_set_header Host $proxy_host; 我们要通过域名转发就必须改为: proxy_set_header Host $host;

    最后修改tomcat的配置文件server.xml,主要是配置虚拟主机:

    1
    2
    3
    4
    5
    
    upstream tomcats {
      server 192.168.0.11:8080 weight=1;
      server 192.168.0.12:8080 weight=1;
      server 192.168.0.13:8080 weight=1;
    }

    3台集群机均改成上面一样的。

    Tomcat集群配置 运行多个tomcat需要修改每个tomcatd的端口。 在tomcatconfserver.xml这里面对涉及的端口进行修改

    sesession 共享 通过上面的配置,我们已经完成了nginx+tomcat的负载均衡,接下来我们要考虑如何让book.ieread.com下的项目session同步。

    这里我使用的是memcached-session-manager;

    首先,我们需要下载JAR包:javolution-5.4.3.1.jar,msm-javolution-serializer-1.4.1.jar,memcached-session-manager-1.4.1.jar http://code.google.com/p/memcached-session-manager/downloads/list

    下载JAR包:memcached-2.5.jar http://code.google.com/p/spymemcached/downloads/list

    将4个jar包放在tomcat的lib包中。 然后修改tomcatd的service.xml文件,添加红色部分配置。

    1
    2
    3
    4
    5
    
    upstream tomcats {
      server 192.168.0.11:8080 weight=1;
      server 192.168.0.12:8080 weight=1;
      server 192.168.0.13:8080 weight=1;
    }

    测试sesession 共享 添加msem.jsp文件

    1
    2
    3
    4
    5
    
    upstream tomcats {
      server 192.168.0.11:8080 weight=1;
      server 192.168.0.12:8080 weight=1;
      server 192.168.0.13:8080 weight=1;
    }

    Http://localhost:8080/msem.jsp可以看见不同的项目具有相同的sesessionID。

  • 相关阅读:
    js的实例方法和静态方法分析
    简述TCP连接的建立与释放(三次握手、四次挥手)
    CSS中各种各样居中方法的总结
    队列的JS实现
    栈的JS实现
    单链表、循环链表的JS实现
    双向链表、双向循环链表的JS实现
    简述JavaScript对象、数组对象与类数组对象
    简述HTML DOM及其节点分类
    关于DOM对象与JQuery对象的那些事
  • 原文地址:https://www.cnblogs.com/xiaocaiabc/p/5154753.html
Copyright © 2011-2022 走看看