haproxy實現負載均衡
阿新 • • 發佈:2018-12-10
開啟 desc weight cfg div 狀態信息 編譯 col 編譯安裝
環境準備:
10.0.0.7 web01 10.0.0.8 web02 10.0.0.3 haproxy centOS 7
1)安裝常用軟件
yum install -y gcc glibc gcc-c++ screen
2)下載haproxy軟件
http://www.haproxy.org/download/1.7/src/haproxy-1.7.10.tar.gz
由於http://www.haproxy.org在國內被屏蔽,只能通過其他方式獲取軟件
3)將軟件上傳到相應目錄,進行解壓,源碼編譯安裝haproxy
[root@lib01 ~]# cd /usr/local/src [root@lib01 src]#tar zxf haproxy-1.7.10.tar.gz [root@lib01 src]# cd haproxy-1.7.10 [root@lib01 haproxy-1.7.10]# make TARGET=linux3100 PREFIX=/usr/local/haproxy-1.7.10 [root@lib01 haproxy-1.7.10]# make install [root@lib01 haproxy-1.7.10]# cp /usr/local/sbin/haproxy /usr/sbin/
通過 haproxy -v,我們可以看到haproxy的版本號
[root@lib02 ~]# haproxy -v HA-Proxy version 1.7.10-a7dcc3b 2018/01/02 Copyright 2000-2018 Willy Tarreau <[email protected]>
4)創建haproxy用戶及配置文件目錄
[root@lib01 haproxy-1.7.10]# useradd -r haproxy [root@lib01 haproxy-1.7.10]# mkdir /etc/haproxy [root@lib01 haproxy-1.7.10]# mkdir /var/lib/haproxy [root@lib01 haproxy-1.7.10]# mkdir /var/run/haproxy
5)編輯啟動腳本
[root@lib01 haproxy-1.7.10]# cp examples/haproxy.init /etc/init.d/haproxy [root@lib01 haproxy-1.7.10]# chmod 755 /etc/init.d/haproxy
6)編輯配置文件/etc/haproxy/haproxy.cfg
vim /etc/haproxy/haproxy.cfg
global log 127.0.0.1 local3 info chroot /var/lib/haproxy user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend www.desc.com mode http bind *:80 stats uri /haproxy?stats default_backend www.desc.com backend www.desc.com option httpchk GET /index.html balance roundrobin server web01 10.0.0.7:80 check inter 2000 rise 3 fall 3 weight 1 server web02 10.0.0.8:80 check inter 2000 rise 3 fall 3 weight 2
啟動服務
[root@lib01 haproxy-1.7.10]# /etc/init.d/haproxy start Starting haproxy (via systemctl): [ OK ]
通過web界面,查看狀態信息
http://10.0.0.3/haproxy?stats
7)開啟日誌
vim /etc/rsyslog.conf
$ModLoad imudp #取消註釋
$UDPServerRun 514 #取消註釋
local3.* /var/log/haproxy.log #最後一行添加local3的路徑
[root@lib01 haproxy-1.7.10]# systemctl restart rsyslog.service
[root@lib01 haproxy-1.7.10]# touch /var/log/haproxy.log
[root@lib01 haproxy-1.7.10]# chown -R haproxy.haproxy /var/log/haproxy.log
[root@lib01 haproxy-1.7.10]# /etc/init.d/haproxy restart
Restarting haproxy (via systemctl): [ OK ]
通過監控日誌,可以看到haproxy已經啟動成功
[root@lib01 haproxy-1.7.10]# tailf /var/log/haproxy.log Dec 10 09:37:39 localhost haproxy[1660]: Stopping frontend www.desc.com in 0 ms. Dec 10 09:37:39 localhost haproxy[1660]: Stopping backend www.desc.com in 0 ms. Dec 10 09:37:39 localhost haproxy[1660]: Proxy www.desc.com stopped (FE: 0 conns, BE: 0 conns). Dec 10 09:37:39 localhost haproxy[1660]: Proxy www.desc.com stopped (FE: 0 conns, BE: 0 conns). Dec 10 09:37:39 localhost haproxy[1692]: Proxy www.desc.com started. Dec 10 09:37:39 localhost haproxy[1692]: Proxy www.desc.com started.
通過測試,我們可以看到自動切換
到此,web的負載均衡配置完成!
haproxy實現負載均衡