一、Haproxy概念 

Haproxy提供高可用性负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。Haproxy特别适用于那些负载特大的web站点,这些站点通常又需要会保持或七层处理。Haproxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。

二、安装和配置

环境:

haproxy:192.168.1.144

web1:192.168.1.140

web2:192.168.1.142

撰写人:zj


安装haproxy

# wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.9.tar.gz

# tar zxvf haproxy-1.7.9.tar.gz

# cd haproxy-1.7.9

# make TARGET=linux26 PREFIX=/usr/local/haprpxy

# make install PREFIX=/usr/local/haproxy

# cd /usr/local/haproxy

 

配置文件

# vim haproxy.cfg (需要自己在/usr/local/haproxy下创建)

 

global

        log 127.0.0.1   local0

        #log 127.0.0.1  local1 notice  

        #log loghost    local0 info  

        maxconn 4096

        chroot /usr/local/haproxy

        uid 1007

        gid 1007

        daemon

        nbproc 1

        pidfile /usr/local/haproxy/haproxy.pid

        #debug  

        #quiet  

 

defaults

        log     127.0.0.1       local3

        mode    http

        option  httplog

        option  httpclose

        option  dontlognull

        option  forwardfor

        option  redispatch

        retries 2

        maxconn 2000

        balance roundrobin

          stats uri /haproxy-stats

          stats auth zj:123456

        timeout connect 5000ms

        timeout client 30000ms

        timeout server 30000ms

 

listen  web_proxy

        bind 192.168.1.144:80

        stats uri /haproxy-stats

        stats auth zj:123456

        option  httpchk GET /check.htm

        server  s1 192.168.1.140:80 weight 3 check

        server  s2 192.168.1.142:80 weight 3 check

 

然后在web1web2上添加/check.htm页面,为了测试方便web1写入192.168.1.140web2写入192.168.1.142

 

三、启动haproxy

# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

 

ps: 停止haproxy

# pkill haproxy


 

四、浏览访问

在浏览器中输入http://192.168.1.144:80/haproxy-stats,然后输入用户名和密码.

 wKiom1nCmanwDaS7AAEBEIF1rZc302.png-wh_50

五、测试

开启web1和web2的httpd或者nginx

为了测试方便,分别在web1web2的站点目录下创建check.htm

并且分别写入192.168.1.140192.168.1.142

 

访问192.168.1.144

wKioL1nCmcmhnTvwAACGEP5dQGE271.png-wh_50

wKiom1nCmf6Bx1ZBAACA6_woyIE334.png-wh_50