haproxy提供高可用性、負載均衡以及基於tcp和http應用的**,支援虛擬主機,它是免費、快速並且可靠的一種解決方案。haproxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。haproxy執行在當前的硬體上,完全可以支援數以萬計的併發連線。並且它的執行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web伺服器不被暴露到網路上。
haproxy實現了一種事件驅動,單一程序模型,此模型支援非常大的併發連線數。多程序或多執行緒模型受記憶體限制 、系統排程器限制以及無處不在的鎖限制,很少能處理數千併發連線。事件驅動模型因為在有更好的資源和時間管理的使用者空間(user-space) 實現所有這些任務,所以沒有這些問題。此模型的弊端是,在多核系統上,這些程式通常擴充套件性較差。這就是為什麼他們必須進行優化以 使每個cpu時間片(cycle)做更多的工作。
2、解壓 tar -zxvf haproxy.tar.gz cd haproxy目錄,執行make target=generic arch=x86_64(這裡可以指定核心版本,核心版本用uname -a檢視,如果不確定核心版本對應命令引數,可以用預設。),arch指定cpu體系。make 之後,執行安裝 make install perfix=/usr/local/haproxy
3、編譯帶ssl make target=generic arch=x86_64 use_openssl=1(確認以及安裝openssl)
編譯ssl靜態庫
$ export staticlibssl=/tmp/staticlibssl
$ ./config --prefix=$staticlibssl no-shared
$ make && make install_sw
4、建立配置檔案 mkdir /usr/local/haproxy/conf
mkdir /usr/local/haproxy/run 從examples拷貝配置
5、配置日誌 local0.* /var/log/haproxy.log 重啟服務rsylog
6、可以啟動haproxy服務了 命令:haproxy -f /etc/haproxy/haproxy.cfg
haproxy -f /etc/haproxy/haproxy.cfg -sf `cat /var/run/haproxy.pid`
配置檔案內容參考
###########全域性配置#########
global
daemon
nbproc 1
pidfile /var/run/haproxy.pid
########預設配置############
defaults
mode http #預設的模式mode ,tcp是4層,http是7層,health只會返回ok
retries 2 #兩次連線失敗就認為是伺服器不可用,也可以通過後面設定
option redispatch #當serverid對應的伺服器掛掉後,強制定向到其他健康的伺服器
option abortonclose #當伺服器負載很高的時候,自動結束掉當前佇列處理比較久的鏈結
maxconn 4096 #預設的最大連線數
timeout connect 5000ms #連線超時
timeout client 30000ms #客戶端超時
timeout server 30000ms #伺服器超時
#timeout check 2000 #=心跳檢測超時
log 127.0.0.1 local0 err #[err warning info debug]
########統計頁面配置########
listen admin_stats
bind 0.0.0.0:1080 #監聽埠
mode http #http的7層模式
option httplog #採用http日誌格式
#log 127.0.0.1 local0 err
maxconn 10
stats refresh 30s #統計頁面自動重新整理時間
stats uri /stats #統計頁面url
stats realm xingcloud\ haproxy #統計頁面密碼框上提示文字
stats auth admin:admin #統計頁面使用者名稱和密碼設定
stats hide-version #隱藏統計頁面上haproxy的版本資訊
########test1配置#################
listen test1
bind 0.0.0.0:90
mode tcp
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 10.18.138.201:80
server s2 10.18.102.190:80
server s3 10.18.102.189:80
server s4 10.18.102.188:80
server s5 10.18.102.187:80
########frontend配置##############
########test2配置#################
listen test2
bind 0.0.0.0:91
mode tcp
#maxconn 4086
#log 127.0.0.1 local0 debug
server s1 10.18.138.130:80 weight 1
server s2 10.18.138.201:8080 weight 6
########frontend配置##############
附(target)
- linux22 for linux 2.2
- linux24 for linux 2.4 and above (default)
- linux24e for linux 2.4 with support for a working epoll (> 0.21)
- linux26 for linux 2.6 and above
- linux2628 for linux 2.6.28, 3.x, and above (enables splice and tproxy)
- solaris for solaris 8 or 10 (others untested)
- freebsd for freebsd 5 to 10 (others untested)
- netbsd for netbsd
- osx for mac os/x
- openbsd for openbsd 3.1 and above
- aix51 for aix 5.1
- aix52 for aix 5.2
- cygwin for cygwin
- generic for any other os or version.
- custom to manually adjust every setting
附(arch)
i386,i486,i586,i686,x86_6
haproxy安裝 配置
1 官網 2 安裝yum list grep haproxy yum install haproxy3 目錄結構 etc rc.d init.d haproxy etc haproxy 配置檔案目錄 etc logrotate.d haproxy etc sysconfig haproxy var ...
負載均衡 haproxy 安裝配置
haproxy 提供高可用性 負載均衡以及基於 tcp 和 http 應用的 支援虛擬主機,它是免費 快速並且可靠的一種解決方案。haproxy 特別適用於那些負載特大的 web 站 點,這些站點通常又 需要會話保持或七層處理。haproxy 執行在當前的硬體上,完全可以 支援數以萬計的併發連線。並...
haproxy安裝配置 筆記二
1 haproxy 支援的負載均衡演算法 roundrobin 表示簡單的輪詢,負載均衡基礎演算法 靜態 web系統 static rr 表示根據權重 靜態 web系統 leastconn 表示最少連線者先處理 db系統 source 表示根據請求源 ip 動態 web系統 uri,表示根據請求的 ...