HAProxy 入門使用、安裝 (資源)

HAProxy 簡介

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

 

  1. yum install gcc pcre pcre-devel openssl openssl-devel -y  

編譯安裝安全

# PREFIX參數指定安裝的目錄  服務器

  1. make TARGET=linux2628 PREFIX=/usr/local/haproxy  
  2. make install PREFIX=/usr/local/haproxy  

安裝完成後檢查版本

/usr/local/haproxy/sbin/haproxy -v  

 

配置

建立軟鏈接,由於haproxy.init 腳本默認會到/usr/sbin目錄下找haproxy

 

  1. ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy  

進入編譯的目錄下的example目錄,將haproxy.init文件複製到/etc/init.d/

 

  1. cp haproxy.init /etc/init.d/haproxy  

在賦予/etc/init.d/haproxy 755權限

 

  1. chmod 755 haproxy  

建立配置文件

在/etc/下建立haproxy目錄

 

  1. mkdir /etc/harpoxy  

在配置目錄下建立文件,haproxy.cfg

配置內容:

 

  1.         #全局配置  
  2.     global  
  3.         #設置日誌  
  4.         log 127.0.0.1 local3 info  
  5.         chroot /usr/local/haproxy  
  6.         #用戶與用戶組  
  7.         user haproxy  
  8.         group haproxy  
  9.         #守護進程啓動  
  10.         daemon  
  11.         #最大鏈接數  
  12.         maxconn 4000  
  13.   
  14.     #默認配置  
  15.     defaults  
  16.         log global  
  17.         mode http  
  18.         option httplog  
  19.         option dontlognull  
  20.         timeout connect 5000  
  21.         timeout client 50000  
  22.         timeout server 50000  
  23.   
  24.     #前端配置,http_front名稱可自定義  
  25.     frontend http_front  
  26.         # 發起http請求道80端口,會被轉發到設置的ip及端口  
  27.         bind *:80  
  28.         #haproxy的狀態管理頁面,經過/haproxy?stats來訪問  
  29.         stats uri /haproxy?stats  
  30.         default_backend http_back  
  31.   
  32.     #後端配置,http_back名稱可自定義  
  33.     backend http_back  
  34.         #負載均衡方式  
  35.         #source 根據請求源IP  
  36.         #static-rr 根據權重  
  37.         #leastconn 最少鏈接者先處理  
  38.         #uri 根據請求的uri  
  39.         #url_param 根據請求的url參數  
  40.         #rdp-cookie 據據cookie(name)來鎖定並哈希每一次請求  
  41.         #hdr(name) 根據HTTP請求頭來鎖定每一次HTTP請求  
  42.         #roundrobin 輪詢方式  
  43.         balance roundrobin  
  44.         #設置健康檢查頁面  
  45.         option httpchk GET /index.html  
  46.         #傳遞客戶端真實IP  
  47.         option forwardfor header X-Forwarded-For  
  48.         # inter 2000 健康檢查時間間隔2秒  
  49.         # rise 3 檢測多少次才認爲是正常的  
  50.         # fall 3 失敗多少次才認爲是不可用的  
  51.         # weight 30 權重  
  52.         # 須要轉發的ip及端口  
  53.         server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30  
  54.         server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30  

配置haproxy日誌,haproxy默認是不記錄日誌,須要藉助rsyslog來記錄

方法一:直接在/etc/rsyslog.conf中配置

 

  1. vim /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配置

 

  1. #配置haproxy的rsyslog日誌  
  2. $ModLoad imudp  
  3. $UDPServerRun 514  
  4.   
  5. local3.* /var/log/haproxy.log  

爲了避免須要將日誌寫入到/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

Linux系統下使用HAProxy配置HTTP負載均衡系統的方法  : https://www.jb51.net/LINUXjishu/236561.html

HAproxy健康檢查的三種方式        :    https://www.cnblogs.com/liang-wei/p/6726487.html

相關文章
相關標籤/搜索