###安装HAProxy 1.7.8[root@iZwz94wxzv9g5iqyr8h3ktZ software]# wget http://www.haproxy.org/download/1.7/
###安装HAProxy 1.7.8
[root@iZwz94wxzv9g5iqyr8h3ktZ software]# wget http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.tar.gz--2017-07-13 14:03:48-- http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.tar.gzResolving www.haproxy.org (www.haproxy.org)... 51.15.8.218Connecting to www.haproxy.org (www.haproxy.org)|51.15.8.218|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1746321 (1.7M) [application/x-tar]Saving to: ‘haproxy-1.7.8.tar.gz’100%[====================================================================================================================================================================================================================================>] 1,746,321 44.0KB/s in 32s 2017-07-13 14:04:23 (52.9 KB/s) - ‘haproxy-1.7.8.tar.gz’ saved [1746321/1746321][root@iZwz94wxzv9g5iqyr8h3ktZ software]# [root@iZwz94wxzv9g5iqyr8h3ktZ software]# tar -zxvf haproxy-1.7.8.tar.gz [root@iZwz94wxzv9g5iqyr8h3ktZ software]# cd haproxy-1.7.8[root@iZwz94wxzv9g5iqyr8h3ktZ haproxy-1.7.8]# make TARGET=linux2628 PREFIX=/usr/local/haproxy[root@iZwz94wxzv9g5iqyr8h3ktZ haproxy-1.7.8]# make install PREFIX=/usr/local/haproxyinstall -d "/usr/local/haproxy/sbin"install haproxy "/usr/local/haproxy/sbin"install -d "/usr/local/haproxy/share/man"/man1install -m 644 doc/haproxy.1 "/usr/local/haproxy/share/man"/man1install -d "/usr/local/haproxy/doc/haproxy"for x in configuration management proxy-protocol architecture cookie-options lua WURFL-device-detection linux-syn-cookies network-namespaces DeviceAtlas-device-detection 51Degrees-device-detection netscaler-client-ip-insertion-protocol close-options SPOE intro; do / install -m 644 doc/$x.txt "/usr/local/haproxy/doc/haproxy" ; /done[root@iZwz94wxzv9g5iqyr8h3ktZ haproxy-1.7.8]# /usr/local/haproxy/sbin/haproxy -vHA-Proxy version 1.7.8 2017/07/07Copyright 2000-2017 Willy Tarreau <[email protected]>
mkdir /etc/haproxy
vi /etc/haproxy/haproxy.cfg
配置文件如下
#全局配置global #设置日志 log 127.0.0.1 local3 info chroot /usr/local/haproxy #用户与用户组 user haproxy group haproxy #守护进程启动 daemon #最大连接数 maxconn 4000#默认配置defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000#前端配置,http_front名称可自定义frontend http_front # 发起http请求道80端口,会被转发到设置的ip及端口 bind *:80 #haproxy的状态管理页面,通过/haproxy?stats来访问 stats uri /haproxy?stats default_backend http_back#后端配置,http_back名称可自定义backend http_back #负载均衡方式 #source 根据请求源IP #static-rr 根据权重 #leastconn 最少连接者先处理 #uri 根据请求的uri #url_param 根据请求的url参数 #rdp-cookie 据据cookie(name)来锁定并哈希每一次请求 #hdr(name) 根据HTTP请求头来锁定每一次HTTP请求 #roundrobin 轮询方式 balance roundrobin #设置健康检查页面 option httpchk GET /index.html #传递客户端真实IP option forwardfor header X-Forwarded-For # inter 2000 健康检查时间间隔2秒 # rise 3 检测多少次才认为是正常的 # fall 3 失败多少次才认为是不可用的 # weight 30 权重 # 需要转发的ip及端口 server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30 server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30
vi /etc/rsyslog.conf
# Provides UDP syslog reception$ModLoad imudp$UDPServerRun 514local3.* /var/log/haproxy.log
重启log
[root@iZwz94wxzv9g5iqyr8h3ktZ ~]# systemctl restart rsyslog
/usr/sbin/haproxy -D -f /etc/haproxy/haproxy.cfg -p /var/run/haproxy.pid
登录管理端口admin/admin看到显示连接的集群。