haproxy介绍与安装

简介linux

------c++

Haproxy是一个使用C语言编写的自由及开放源代码软件。web

Haproxy是开源,免费,快速而且可靠的一种解决方案,他能够运行在大部分主流的Linux服务器上。redis

Haproxy特别适用于那些负载特大的web站点,这些站点一般又须要会话保持或七层处理。算法

Haproxy是可以提供高可用性、负载均衡以及基于L4(TCP)和L7 ( HTTP )的应用的代理浏览器

------服务器



Haproxy优势session

------并发

1)可靠性和稳定性高负载均衡

2)最高能够同时维护40000-- 50000个并发链接,单位时间内处理的最大请求数为20000个,最大数据处理能力可达10Gbps

3)支持多于8种负载均衡算法,同时也支持session(会话)保持

4)支持虚拟主机功能

5)从HAProxy 1.3版本后开始支持链接拒绝、全透明代理等功能

6) HAProxy拥有一个功能强大的服务器状态监控页面

7) HAProxy拥有功能强大的ACL支持

------



haproxy的两种安装方式:

  1. yum                yum -y install haproxy

  2. 源码编译

       haproxy-1.5.15.tar

         tar xzvf haproxy-1.5.15.tar.gz  -C  /opt


          cd /opt/haproxy-1.5.15/

            image.png


          yum install -y \              //编译环境
            pcre-devel \
            bzip2-devel \
            gcc \
            gcc-c++ \
            make

            

            make TARGET=linux26  PREFIX=/usr/local/haproxy     //标识64为系统及定义安装路径
            make install PREFIX=/usr/local/haproxy


            mkdir /etc/haproxy   

            cp /opt/haproxy-1.5.15/examples/haproxy.cfg /etc/haproxy/        //拷贝haproxy模板

            useradd -s /sbin/nologin -M  haproxy         //建立一个名为haproxy的程序用户


             image.png


            haproxy安装完成后并无配置文件,全部上面建立一个存放haproxy的目录

            image.png

                cp haproxy.cfg    /etc/haproxy

             image.png


                vi haproxy.cfg

                

# this config needs haproxy-1.1.28 or haproxy-1.2.1

global
        log 127.0.0.1   local0
        log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
#       chroot /usr/share/haproxy
        uid 1000
        gid 1000
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        redispatch
        maxconn 2000
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen admin_stats
    bind 0.0.0.0:8089
    stats enable
    mode http
    log global
    stats uri  /stats
    stats realm Haproxy\ Statistics
    stats auth  admin:admin
    #stats hide-version
    stats admin if TRUE
    stats refresh 30s

        把chroot /usr/share/haproxy注释掉以及修改uid和gid  默认是99   因我刚才查看了一下个人uid和gid是1000。

        添加统计页面listen admin_stats 


        cp examples/haproxy.init /etc/init.d/haproxy 

        chmod 755 /etc/init.d/haproxy

        chkconfig --add haproxy

        ln -s /usr/local/haproxy/sbin/haproxy  /usr/sbin/haproxy

        //把系统启动文件 加入到service管理器中


启动服务查看端口

        service haproxy start

        netstat -anpt | grep haproxy


浏览器测试: 192.168.80.183:8089/stats

image.png


到此,haproxy安装完成。