haproxy安装
haproxy是一款功能强大、灵活好用反向代理软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况
1、下载
wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.19.tar.gz
tar -zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19
make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy
#参数说明
TARGET=linux2628 #内核版本,使用uname -r查看内核,如:2.6.18-371.el5,此时该参数就为linux26;kernel 大于2.6.28的用:TARGET=linux2628
make install PREFIX=/usr/local/haproxy
2、编辑配置文件(自己创建,examples目录下有模板)
mkdir -p /usr/local/haproxy/etc
cp ~/haproxy-1.5.19/examples/haproxy.cfg /usr/local/haproxy/etc/
vim/usr/local/haproxy/etc/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/local/haproxy uid 99 #所属运行的用户UID gid 99 #所属运行的用户组 daemon #以后台形式运行HAProxy #debug #quieti nbproc 1 #启动1个实例,可以启多个来提高效率 pidfile /var/run/haproxy.pid defaults log global mode http option httpclose #每次请求完毕后主动关闭http通道 option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 option forwardfor option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 option dontlognull #保证HAProxy不记录上级负载均衡发送过来的用于检测状态没有数据的心跳包 retries 2 #重试次数 maxconn 2000 #最大连接数 balance source #如果想让HAProxy按照客户端的IP地址进行负载均衡策略,即同一IP地址的所有请求都发送到同一服务器时需要配置此选项 timeout connect 5000 timeout client 50000 timeout server 50000 listen admin_stats bind *:8888 #监听端口,后面打开网页时要用到,不要和已打开的端口冲突 mode http #http的7层模式 option httplog #采用http日志格式 log 127.0.0.1 local0 err maxconn 10 stats refresh 30s #统计页面自动刷新时间 stats uri /stats #统计页面url stats auth admin:admin #统计页面用户名和密码设置 stats hide-version #隐藏统计页面上HAProxy的版本信息 #关键设置,添加负载均衡服务器只需设置这里 listen web_proxy 0.0.0.0:8088 #端口不要冲突 mode http balance roundrobin server web1 172.16.0.181:80 cookie app1inst1 check inter 2000 rise 2 fall 5 server web2 172.16.0.182:80 cookie app1inst2 check inter 2000 rise 2 fall 5
3、启动
[root@localhost sbin]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg
停止
[root@localhost sbin]# killall haproxy 或者kill -9 端口
4、监控页面
http://192.168.255.129:8888/stats
这里的端口是在配置文件中设置的