码迷,mamicode.com
首页 > Web开发 > 详细

使用haproxy搭建web群集

时间:2018-01-23 15:41:16      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:put   live   加载   自启动   html   使用   增加   style   功能   

  前言:我们知道tomcat+nginx负载均衡群集lvs负载均衡群集 和 haproxy搭建群集,这三种群集相比较来说,lvs性能最好,但是搭建复杂,nginxupstream模块支持群集,但是对群集的节点的故障检查功能不多,性能也没有haproxy好,所以应该说harpoxy也是非常不错的。所以接下来我们开始使用haproxy搭建群集.

   一, 拓扑图:

技术分享图片

搭建环境:

一台haproxy服务器,二台nginx服务器,搭建两个不同的网站(方便测试群集),一台客户机上网测试。

技术分享图片

开始搭建:

首先安装两个支持包

技术分享图片

技术分享图片

技术分享图片

 

2)haproxy服务器的配置

首先建立haproxy的配置文件

技术分享图片


拷贝配置文件的样本复制到/etc/haproxy目录下

技术分享图片

修改haproxy.cfg配置文件

技术分享图片

技术分享图片技术分享图片

3)创建自启动脚本

技术分享图片

技术分享图片

技术分享图片

4,安装ngingx并制作网页。

root@centos3 ~]# yum -y install pcre-devel zlib-devel

[root@centos3 ~]# tar zxf nginx-1.6.2.tar.gz

[root@centos3 ~]# cd nginx-1.6.2

[root@centos3 nginx-1.6.2]# ./configure  --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install

[root@centos3 nginx-1.6.2]# useradd -M -s /sbin/nologin  nginx

[root@centos3 nginx-1.6.2]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

[root@centos3 nginx-1.6.2]# echo  "node_1" > /usr/local/nginx/html/index.html

启动nginx服务

[root@centos3 nginx-1.6.2]# nginx

建立防火墙规则

[root@centos3 nginx-1.6.2]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

剩下的节点配置一样,为了测试时看出效果,建议将测试页的内容不要保持一致

第一台:

技术分享图片

第二台:

技术分享图片

5)开启haproxy服务

技术分享图片

注意:防火网开启例外或者关闭

iptables -I INPUT -p tcp --dport 80 -j ACCEPT


 

6)测试web群集

首先测试负载均衡

在客户端上打开http://192.168.1.10,浏览器显示第一台网页

技术分享图片

再次打开一个新的浏览器访问,显示第二台网页

技术分享图片

下面再测试一下高可用,我们把第一台服务器的网卡断掉,模拟服务器出现故障,如果网页依然可以访问,说明群集的高可用没有问题。

技术分享图片

 

5)配置haproxy日志

Haproxy的日志默认是保存到系统的syslog中,查看起来不方便,所以我们在生产环境中可以将日志单独存储到不同的文件中,配置如下

首先修改配置文件,主要改下面的部分

技术分享图片

这两行的作用是将infonotice的日志分别记录到不同的文件中

 

然后修改rsyslog配置,将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d下,rsyslog启动时会自动加载此目录下所有的配置文件。

技术分享图片

加入以下内容

技术分享图片

以下内容是将infonotice日志放到不同的文件中

 

然后重新启动rsyslog服务

技术分享图片

 

测试日志信息

在客户机访问网站之后,可以使用tail -f /var/log/haproxy/haproxy-info.log即时查看日志

技术分享图片

为了实现haproxy的高可用,我们可以配置keepalived

技术分享图片

上图中增加了一台haproxy,用来做备份,在上面安装keepalived配置好了之后断掉第一台haproxy,网站依然可以访问对了。

注意防火墙开启224.0.0.18端口,这是keepalived的组播地址。

iptables -I INPUT -p ip -d 224.0.0.18 -j ACCEPT

 


使用haproxy搭建web群集

标签:put   live   加载   自启动   html   使用   增加   style   功能   

原文地址:http://blog.51cto.com/wuhui1994/2064231

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!