首页 > 其他 > 详细

Nginx 均衡负载

时间:2016-01-24 10:22:43      阅读:133      评论:0      收藏:0      [点我收藏+]

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。

 

Nginx 均衡负载

原文:http://www.cnblogs.com/xiaocaiabc/p/5154753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!