http協議作方向**
tcp層作lb
director:
//檢視及安裝haproxy
1000 yum info haproxy
1001 yum install haproxy -y
1002 rpm -ql haproxy
//配置排程器的real server
1003 vim /etc/haproxy/haproxy.cfg
maxconn#每個程序最大併發數
nbproc#啟動的程序數
spread -check #將其檢查時間間隔增/減一隨機時長
(上面三個一般預設,但可能會用到)
frontend main
bind *:80(繫結在本主機的。。。)
bind *:8080
default_backend websrvs
backend websrvs
balance roundrobin (動態)
/static-rr(靜態)#輪循/leastconn#依據後端負載數量排程
server web1 192.168.184.10:80 check weight 1(權重越大排程越多)
server web2 192.168.184.11:80 check weight 3
//啟動並檢視80埠
1004 systemctl start haproxy.service
1006 ss -tnl
//配置會話繫結
1014 vim /etc/haproxy/haproxy.cfg
frontend main *:80
default_backend websrvs
backend websrvs
balance source/uri/url_param/hdr(user-agent)
# 同一客戶端/url/url_param的值/header的值始終排程同一server
hash-
type map-based(靜態)/consistent(動態)#hash型別
server web1 192.168.184.10:80 check
server web2 192.168.184.11:80 check
1022 systemctl reload haproxy.service
1023 systemctl status haproxy.service
//配置haproxy專有日誌並重啟rsyslog監聽514埠
1014 vim /etc/haproxy/haproxy.cfg
log 127.0.0.1 local2
1015 vim /etc/rsyslog.conf
$modload imudp
$udpserverrun 514
local2.*/
var/log/haproxy.log
1026 systemctl restart rsyslog.service
1027 systemctl status rsyslog.service
1028 ss –unl
//檢視效果
/192.168.184.20(多幾次)//檢視selinux及iptables是否關閉
getenforce
setenforce 0
1030 iptables -f
1032 iptables -l
1035 tail /
var/log/haproxy.log
//基於瀏覽器cookie實現session sticky
1015 vim /etc/rsyslog.conf
frontend main
bind *:80
bind *:8080
default_backend websrvs
backend websrvs
balance roundrobin
cookie serverid(cookie名) insert(將chookie插入) nocache(不許快取) indirect(間接方式使cookie生效)#chookie的操作
server web1 192.168.184.10:80 check weight 1 cookie websrv1#cookie標識
server web2 192.168.184.11:80 check weight 3 cookie websrv2
1022 systemctl reload haproxy.service
1023 systemctl status haproxy.service
//啟動stats狀態監控頁
1015 vim /etc/rsyslog.conf
frontend main
bind *:80
bind *:8080
default_backend websrvs
listen statistics (新監聽在乙個埠定義全域性監控的頁面)
bind *:9090
stats enable
stats hide-version#隱藏版本防止版本號攻擊
stats scope .
#作用域與當前,預設全域性
stats uri /haproxyadmin?stats #訪問路徑
stats realm "haproxy\statistics"
#提示符
stats auth admin:mageedu#賬戶認證可多個
stats admin if true#若auth成功這啟動管理員功能
backend websrvs
balance roundrobin
cookie serverid insert nocache indirect
server web1 192.168.184.10:80 check weight 1 cookie websrv1
server web2 192.168.184.11:80 check weight 3 cookie websrv2
1022 systemctl reload haproxy.service
1023 systemctl status haproxy.service
//向real server**日誌資訊,預設
vim /etc/haproxy/haproxy.cfg
option forwardfor except 127.0.0.0/8#預設有只需在real server改logformat
//自定義請求響應報文首部
vim /etc/haproxy/haproxy.cfg
frontend main
bind *:80
bind *:8080
rspadd/reqadd via:\ node1.magedu.com
1022 systemctl reload haproxy.service
1023 systemctl status haproxy.service
real server(兩台):
var/log/httpd/access_log//日誌能獲取額外資訊
HAProxy 配置負載均衡
準備條件 1.安裝好haproxy 2.啟動兩個web應用伺服器,這裡啟動了兩個nginx nginx1 埠 8080 nginx2 埠 8081 都有乙個頁面 test.html,顯示的內容不同,nginx1 裡的test.html顯示 1,nginx2 裡的test.html顯示 2 目標配置h...
配置HAProxy實現Web負載均衡
環境 一台安裝haproxy,兩台安裝apache服務 防火牆和selinux關閉 原始碼安裝 wget zcvf haproxy 1.3.20.tar.gz cd haproxy 1.3.20 make target linux26 prefix usr local haproxy make in...
負載均衡 haproxy 安裝配置
haproxy 提供高可用性 負載均衡以及基於 tcp 和 http 應用的 支援虛擬主機,它是免費 快速並且可靠的一種解決方案。haproxy 特別適用於那些負載特大的 web 站 點,這些站點通常又 需要會話保持或七層處理。haproxy 執行在當前的硬體上,完全可以 支援數以萬計的併發連線。並...