haproxy于nginx一樣都是做反向代理,但是與其相比,haproxy更專注于web代理。haproxy是單程序多請求,也支援多程序,haproxy運作在目前的硬體上,完全可以支援數以萬計的并發連接配接。
haproxy功能的實作全部基于配置檔案,是以我們需要了解很多的配置指令,玩轉指令,再結合實際情況,我們就玩轉了haproxy,其實haproxy的配置也很簡單,下面我們一起簡單認識和了解一些haproxy的基本功能和相關知識。
centos6.5自帶的rpm包的版本完全夠我們使用,是以我們直接yum安裝
檢視haproxy的配置資訊在/etc/haproxy/haproxy.cfg。大緻整體可分為兩個部分
1:全局配置段
2:代理功能的相關配置:
在代理功能這塊細分又分為四部分:
1:defaults 預設,為代理提供預設屬性
2:frontend 前端,相當于nginx的server
3:backend 後端,相當于nginx的upstream server 可以定義多組
4:listen 相當于一個frontend綁定一個backend 固定組合
配置解說:
haproxy簡單代理的實作:
實驗環境:3台centos6.5的虛拟機 其中1台兩個網卡172.16.20.1是内外ip.192.168.2.109是外網ip.并安裝haproxy,開啟路由轉發功能,另外兩台分别安裝php ,ip分别是172.16.20.11,172.16.20.12網關指向172.16.20.1,并開啟httpd服務,提供測試頁面。
配置haproxy的配置檔案:
這樣一個簡單的輪詢代理就配置好了。
下一個話題基于haproxy的動靜分離:
動靜分離的思想:其實就是定義幾個acl的通路控制規則,定義2組backend,當client通路的url比對上我們定義的靜态通路規則的時候我們就調用靜态的backend,當比對到動态的規則的時候,就調用動态的backend 或者不寫直接設定成預設都可以。那麼看下面的配置:
當你通路的路徑是以static、images...等開始或者是.jpg...結尾的時候就調用後端伺服器backend static,否則預設調用的是backend dynamic
基于keepalived實作haproxy的高可用,雙主配置我在部落格<<基于keepalived實作director、ipvs、nginx的高可用以及nginx的雙主模型>>有介紹nginx的高可用和雙主模型,配置一樣,大家可以參考此文檔。
haproxy的狀态輸出:要使用指令stats,配置資訊如下
本文出自 “” 部落格,請務必保留此出處