一、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
然后在web1和web2上添加/check.htm页面,为了测试方便web1写入192.168.1.140,web2写入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,然后输入用户名和密码.
五、测试
开启web1和web2的httpd或者nginx
为了测试方便,分别在web1和web2的站点目录下创建check.htm
并且分别写入192.168.1.140和192.168.1.142
访问192.168.1.144
转载于:https://blog.51cto.com/bing0318/1967336