使用Haproxy搭建Web群集(内附源码包)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Haproxy搭建Web群集(内附源码包)相关的知识,希望对你有一定的参考价值。

Haproxy简介:
haproxy提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理,支持虚拟主机;
haproxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或七层处理。haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
haproxy实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。
haproxy的优点:
a、免费开源,稳定性也是非常好
b、haproxy可以跑满10Gbps
c、haproxy支持连接拒绝,为一个陷于小型DDoS×××的网站开发了而且已经拯救了很多站点,这个优点也是其它负载均衡器没有的
d、haproxy支持全透明代理(已具备硬件防火墙的典型特点)
e、haproxy现多于线上的mysql集群环境,我们常用于它作为MySQL(读)负载均衡
f、自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警

实验拓扑:
技术分享图片
实验环境:

主机 操作系统 IP地址 主要软件
Haproxy CentOS 7.0 x86_64 192.168.37.131 haproxy-1.5.19.tar.gz
web1节点服务器 CentOS 7.0 x86_64 192.168.37.128 nginx-1.12.0.tar.gz
web2节点服务器 CentOS 7.0 x86_64 192.168.37.130 nginx-1.12.0.tar.gz
客户端 Windows 7 192.168.37.100

软件包共享:
haproxy https://pan.baidu.com/s/1o6266kAIwcaVxjKdCNZNQw 密码:vxxz
nginx https://pan.baidu.com/s/13G9Mc3uX5dgYMYh4RflcWQ 密码:vtkv

实验过程:
一、web节点服务器搭建
1、安装环境包

   [[email protected] ~]# yum install -y pcre-devel zlib-devel gcc gcc-c++

2、创建管理用户

   [[email protected] ~]#useradd -M -s /sbin/nologin nginx

3、解压缩nginx包

    [[email protected] ~]#mkdir /opt/abc
    [[email protected] ~]#mount.cifs //192.168.37.1/SHARE /opt/abc
    [[email protected] ~]#tar zxvf /opt/abc/nginx-1.12.0.tar.gz -C /opt/

4、配置安装

    [[email protected] ~]#cd /opt/nginx-1.12.0
            ./configure         --prefix=/usr/local/nginx      #安装目录
        --user=nginx       #用户
        --group=nginx     #组
    [[email protected] ~]#make && make install

5、设置nginx首页内容,加以区分两台节点服务器,一台为web1,另一台为web2
技术分享图片
6、建立软链接,便于管理

    [[email protected] ~]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

7、开启服务,关闭防火墙及安全功能

    [[email protected] ~]#nginx
    [[email protected] ~]#systemctl stop firewalld.service
    [[email protected] ~]#setenforce 0

另一台web2节点服务器设置步骤同上,只需在首页显示上加以区分
8、测试:
技术分享图片
技术分享图片

二、Haproxy服务器
1、安装环境包

    [[email protected] ~]#yum install -y pcre-devel bzip2-devel gcc gcc-c++

2、解压haproxy包

    [[email protected] ~]#mkdir /opt/abc
    [[email protected] ~]#mount.cifs //192.168.37.1/SHARE /opt/abc
    [[email protected] ~]#tar zxvf /opt/abc/haproxy-1.5.19.tar.gz -C /opt/

3、配置

     [[email protected] ~]#cd /opt/haproxy-1.5.19/
       [[email protected] ~]#make TARGET=linux26 
    [[email protected] ~]#make install     

4、创建haproxy配置文件目录

        [[email protected] ~]#mkdir /etc/haproxy

5、复制文件配置模板到etc目录下

        [[email protected] ~]#cp examples/haproxy.cfg /etc/haproxy/

6、编辑配置文件

        [[email protected] ~]#vim /etc/haproxy/haproxy.cfg

技术分享图片
7、创建启动脚本,给与执行权限

     [[email protected] ~]#cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
     [[email protected] ~]#chmod +x /etc/init.d/haproxy

8、加入服务系统

         [[email protected] ~]#chkconfig --add /etc/init.d/haproxy
         [[email protected] ~]#ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

9、启动服务,关闭防火墙及安全功能

        [[email protected] ~]#service haproxy start
        [[email protected] ~]#systemctl stop firewalld.service
        [[email protected] ~]#setenforce 0  

10、测试
技术分享图片
技术分享图片

实验完成!

以上是关于使用Haproxy搭建Web群集(内附源码包)的主要内容,如果未能解决你的问题,请参考以下文章

群集 Haproxy web群集

使用Haproxy及Nginx搭建Web群集

使用Haproxy搭建Web群集

haporxy搭建web群集

haporxy搭建web群集

haporxy搭建web群集