HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支持虛擬主機, 它是免費、快速而且可靠的一種解決方案。HAProxy特別適用於那些負載特大的web站點, 這些站點一般又須要會話保持或七層處理。HAProxy運行在當前的硬件上,徹底能夠支持數以萬計的併發鏈接。而且它的運行模式使得它能夠很簡單安全的整 合進您當前的架構中, 同時能夠保護你的web服務器不被暴露到網絡上。html
HAProxy 是一個提供高可用、負載均衡,以及基於TCP和HTTP的代理程序。前端
HAProxy實現了一種事件驅動, 單一進程模型,此模型支持很是大的併發鏈接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,不多能處理數千併發鏈接。node
HAProxy架構linux
centos 7.0 3.10.0-514.el7.x86_64web
haproxy 1.7.9vim
haproxy 編譯依賴:gcc、make、autoconf、openssl後端
編譯依賴安裝centos
編譯安裝安全
# PREFIX參數指定安裝的目錄 服務器
安裝完成後檢查版本
/usr/local/haproxy/sbin/haproxy -v
建立軟鏈接,由於haproxy.init 腳本默認會到/usr/sbin目錄下找haproxy
進入編譯的目錄下的example目錄,將haproxy.init文件複製到/etc/init.d/
在賦予/etc/init.d/haproxy 755權限
建立配置文件
在/etc/下建立haproxy目錄
在配置目錄下建立文件,haproxy.cfg
配置內容:
配置haproxy日誌,haproxy默認是不記錄日誌,須要藉助rsyslog來記錄
方法一:直接在/etc/rsyslog.conf中配置
取消註釋#
$ModLoad imudp
$UDPServerRun 514
添加
local3.* /var/log/haproxy.log
重啓rsyslog
systemctl restart rsyslog
這樣配置會haproxy的日誌還會記錄到/var/log/messages中
所以須要在*.info;mail.none;authpriv.none;cron.none後面追加local3.none
重啓rsyslog
方法二:在/etc/rsyslog.d/下建立日誌配置
從/etc/rsyslog.conf中的以下配置,能夠看出rsyslog會讀取/etc/rsyslog.d/目錄下的全部以.conf結尾的配置文件
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
所以在/etc/rsyslog.d/下建立
haproxy.conf配置
爲了避免須要將日誌寫入到/var/log/messages中,還須要和方法一種配置同樣在/etc/rsyslog.conf中
*.info;mail.none;authpriv.none;cron.none後面追加local3.none
重啓rsyslog便可
注意若是系統開啓了防火牆須要打開對應的端口
第一次啓動haproxy先使用
service命令,之後就可使用systemctl命令來操做
service haproxy start
systemctl start haproxy
連接 :
在CentOS上安裝和使用代理軟件HAProxy的徹底攻略 :
https://www.jb51.net/os/RedHat/409840.html