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。

  • 相关阅读:
    2008年末纪念:回顾改变Web的十大事记
    我的Silverlight初探
    查询表字段、类型、是否主键的sql脚本
    FOR XML AUTO将数据库表的一个字段的数据查询拼接为带间隔符的字符串
    Opera:发现浏览器安全漏洞后做什么
    Spry框架实现XML分页[原]
    sql带分隔符的字符串截取
    [转]Internet数据库连接器(IDC)技术
    [摘]淘宝网的开源架构
    System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 XP
  • 原文地址:https://www.cnblogs.com/xiaocaiabc/p/5154753.html
Copyright © 2011-2022 走看看