Haproxy基本負載均衡配置

2021-10-07 01:18:01 字數 4385 閱讀 2029

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 執行在當前的硬體上,完全可以 支援數以萬計的併發連線。並...