A、首介 。。。
HAProxy——開放源代碼軟件,是一款代理服務器和偽4層的負載均衡軟件解決方案。基于TCP(第四層)和HTTP(第七層)應用的代理軟件,支持高并發鏈接,它的工作模式可以將其簡單而安全地整合到當前的服務架構中,同時可以保護你的WEB服務器不暴露到網絡上(設置成代理來實現的 通過VIP將后端的web服務器隱藏到內網中)。haproxy進入了商業版本以后,就進入了快速迭代周期,目前正在維護的版本有 1.4 1.5 1.6 1.7;
B、特點。。。
b1、免費開源,穩定性非常好
b2、支持鏈接拒絕,可以用于防止DDoS攻擊
b3、支持虛擬主機
b4、能夠補充Nginx的一些缺點,路由HTTP請求到后端服務器,基于cookie作會話綁定;同時支持通過獲取指定的url來檢測后端服務器的狀態
b5、能夠將多個請求反代至后端主機完成負載均衡的效果
b6、通過一個URI接口web應用程序為通過身份驗證的用戶提供報告詳細狀態.
b7、自帶監控服務器狀態的頁面,實時監控狀態、強大的后端主機健康檢測功能.
b8、支持 單一進程模型,事件驅動,彈性二叉樹;
b9、負載均衡策略算法較多、具體有如下8種:
⑧ rdp-cookie(name),表示根據據cookie(name)來鎖定并哈希每一次TCP請求。
C、安裝。。。
安裝較為簡單,在Centos6.4版本后,haproxy就被收錄進ISO光盤的base倉庫,可見其較高的市場占有率和大眾接受度,
c1、查看安裝信息 yum info haproxy
c2、安裝 yum install haproxy -y
D、程序環境 。。。
d1、程序配置文件路徑
配置文件: /etc/haproxy/haproxy.cfg
Unit File: /usr/lib/systemd/system/haproxy.service (CentOS7)
主程序: /usr/sbin/haproxy
日志管理輔助: /usr/bin/halog
網段計算輔助文件: /usr/bin/iprange
內建的錯誤頁文件:
/usr/share/haproxy/400.http
/usr/share/haproxy/403.http
/usr/share/haproxy/408.http
/usr/share/haproxy/500.http
/usr/share/haproxy/502.http
/usr/share/haproxy/503.http
/usr/share/haproxy/504.http
d2、Haproxy配置文件分析
首先備份下
cp /etc/haproxy/haproxy.cfg{,.bak}
打開haproxy.cfg
vim /etc/haproxy/haproxy.cfg
global: 全局配置段,參數是進程級的,通常是和操作系統相關,如果配置無誤,就不需要再次進行修改
proxles 代理配置段如下:
— defaults <name>: 為frontend, backend以及listen提供默認配置;
— frontend <name>: 相當于nginx的server段,接收請求的前端虛擬節點
— backend <name>: 后端服務集群的配置,是真實服務器,一個Backend對應一個或者多個實體服務器,相當于nginx的upstream段,
E、基礎負載測試。。。
測試準備
e1、3臺主機,第1臺(7.3)安裝haproxy做調試器,第2,3臺(6.8)安裝httpd做web應用,配置/var/www/html/index.html測試頁面,(3臺IP之間需互通)
e2、啟動服務: service httpd start,并監測80端口是否開啟,ss -tnlp |grep 80 , 瀏覽器訪問時確認關閉防火墻:iptables -F 及selinux : getenforce,
e3、確認可正常瀏覽
e4、接下來配置haproxy負載,僅更改幾個配置點即可,主要更改frontend和backend段
- 可自定義frontend的main名稱,加端口即可,如web的80 , ohoh *:80
- default_backend 也可自定,不要和main名稱一樣即好, web_ser
- 此段的中間幾行,默認即可,也可刪除
- 配置backend段,修改backend名稱同上web_ser
- balance默認調度算法 roundrobin簡單輪詢,默認
- 復制一行server, 將后端的兩臺http服務器IP和端口寫入。保存退出
- 啟動haproxy服務, systemctl start haproxy.service
END:瀏覽器訪問,刷新查看兩臺切換
待續。。。
原創文章,作者:zzzzzzzzzzzzzzzz.x,如若轉載,請注明出處:http://www.www58058.com/76030