利用haproxy做負載均衡

本實驗我們用的是ubuntu16.5,我們公司最近要做一部分的應用利用haproxy進行負載均衡, HAProxy厲害的點,不需要web站點的健康檢測,軟件本身可以檢測出服務停止,然後切換到正常的服務器上,而且當服務器重啓之後,HAProxy不需要重啓,也能識別並且切換上去

1 首先確保環境安裝了gcc

    yum install  -y gcc

2 我們下載的是1.8的版本,官網提供很多最新版的

   wget http://haproxy.org/download/1.8/src/haproxy-1.8.27.tar.gz

   tar -zxvf haproxy-1.8.27.tar.gz

   cd haproxy-1.8.27

   sudo make TARGET=generic  PREFIX=/usr/local/haproxy //( TARGET 是linunx的版本號可以用uname -r看到,如果你不清楚填generic,PREFIX是安裝目錄  )

   sudo make install

3 配置服務

   配置haproxy.cfg    /usr/local/haproxy/目錄下沒有haproxy.cfg文件,要從安裝目錄拷過去

   cp /var/local/haproxy-1.8.27/haproxy.cfg   /usr/local/haproxy/haproxy.cfg

   配置haproxy.cfg

  

global ### 全局設置 本臺服服務器(haproxy-server的IP:192.168.1.205)
    log 127.0.0.1   local0   #存儲日誌目錄別名
    log 127.0.0.1   local1 notice #存儲日誌級別(notice,info,error)
    #log loghost    local0 info
    maxconn 4096
    chroot /usr/local/haproxy     ##這個目錄如果沒有,要新建 sudo mkdir /usr/share/haproxy
    uid 99
    gid 99
    daemon
    pidfile /usr/local/haproxy/haproxy.pid
    #debug
    #quiet

defaults  ##默認配置
    log global
    mode    http
    option  httplog
    option  dontlognull

    option  forwardfor
    option  httpclose

    stats   uri     /haproxy-admin  #haproxy 監控頁面的訪問地址
    stats   auth    admin:adminadmin
    stats   hide-version
    retries 3
    #redispatch
    maxconn 2000
   # contimeout  5000
   #clitimeout  50000
   # srvtimeout  50000
   timeout connect 5s
   timeout client 5s
   timeout server 5s
frontend http-in #定義進入端名字爲 http-in  所謂前端(用戶直接訪問到的主機)定義
    bind        *:80
    mode        http
    option      httplog
    log     global
    default_backend htmpool

backend htmpool  #定義後端(躲在haproxy後面真正業務處理的主機)
    balance leastconn ##輪循算法
    server  web1 192.168.206.138:80   cookie 1 weight 5 check inter 2000 rise 2 fall 3
    server  web2 192.168.206.137:80  cookie 2 weight 5 check inter 2000 rise 2 fall 3

 

4 啓動服務

   sudo haproxy -f /usr/local/haproxy/haproxy.cfg

   查看服務是否啓動

   ps ef | grep haproxy

   

  這就表明haproxy已經啓動了。

接下來就是驗證的時候

打開瀏覽器http://192.168.206:139

   再刷新

    

 

後續可以通過web的管理界面管理節點的健康狀態

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章