haproxy安裝配置

一、haproxy安裝
操作系統:centos6.5
haproxy是一個提供高可用、負載均衡的開源的代理服務器,haproxy安裝可以源碼安裝也可以yum安裝,本文采用yum安裝,yum安裝非常便捷。掛載本地鏡像,yum安裝haproxy。

yum -y install haproxy

haproxy安裝配置
安裝成功,是不是非常方便。查詢haproxy版本
haproxy安裝配置
二、haproxy配置
查看haproxy配置文件,本文配置文件已做了部分修改。
本文已經搭建好兩臺簡單的web服務器,就是nginx的基礎頁面,但略有不同
web服務器1:192.168.174.128(hostname:www.jzz.nginx 默認頁面:helloworld)
Web服務器2:192.168.174.131(hostname:www.jzztest.org 默認頁面:nginx安裝後默認頁面)

cat /etc/haproxy/haproxy.cfg | egrep -v '(#|^$)'

haproxy安裝配置

global    -----------------------------------------------------------------全局配置
    log         127.0.0.1 local2   ---------------日誌輸出配置
    chroot      /var/lib/haproxy   --------------haproxy工作目錄
    pidfile     /var/run/haproxy.pid  ----------haproxy的pid目錄
    maxconn     4000  -------------------------最大連接數(默認配置)
    user        haproxy  -------------------------運行haproxy用戶
    group       haproxy -------------------------haproxy所屬組
    daemon        --------------------------------後臺啓動
    stats socket /var/lib/haproxy/stats  ----這個不知道,後續補充
defaults    ----------------------------------------------------------------默認配置
    mode                    http   -------------------------默認模式mod{tcp|http|health}
    log                     global  -------------------------日誌系統與global段相同
    option                  httplog  -----------------------日誌類別採用httplog
    option                  dontlognull  -----------------不記錄健康檢查日誌
    option http-server-close  ------------------------每次請求完畢後主動關閉http通道
    option forwardfor       except 127.0.0.0/8 ----後端服務器需要獲得客戶端真實ip需要配置的參數
    option                  redispatch   ------------------當請求的服務器掛掉之後強行切換到健康的服務器
    retries                 3          -------------------------3次連接服務器失敗後確定服務器不可用
    timeout http-request    10s     -------------------默認http請求超時時間(可優化)
    timeout queue           1m    ----------------------默認隊列超時時間(可優化)
    timeout connect         10s  ----------------------默認連接超時時間(可優化)
    timeout client          1m --------------------------默認客戶端超時時間(可優化)
    timeout server          1m   -----------------------默認服務器超時時間(可優化)
    timeout http-keep-alive 10s  -------------------默認持久連接超時時間(可優化)
    timeout check           10s  -----------------------默認心跳檢測超時時間(可優化)
    maxconn                 3000      -------------------最大連接數,不要超過全局配置最大連接數
listen stats_auth    ----------------------------------------------------監控頁面及監聽端口混合配置,做的有點差,僅做參考
    bind 192.168.174.130:8000       ------------------------綁定監控頁面監聽端口
    stats uri /status     ------------------------------------------haproxy監控頁面
    stats auth admin:westos       ----------------------------配置監控頁面賬號密碼登錄
    stats refresh 5s    ------------------------------------------監控頁面自動刷新時間
    stats hide-version       ------------------------------------隱藏監控頁面haproxy版本號,保障安全
    listen www.jzz.nginx *:8088               ----------------監聽的實例名稱、地址和端口,可配置多個
    server web1 192.168.174.128:80 cookie app1inst1 check inter 2000 rise 2 fall 5 -----後端web服務器ip及其他配置
    listen www.jzztest.org *:8089             ----------------監聽的實例名稱、地址和端口,可配置多個
    server web2 192.168.174.131:80 cookie app1inst2 check inter 2000 rise 2 fall 5 -----後端web服務器ip及其他配置
    listen localhost.localdomain *:80    -------------------
    balance roundrobin                  ------------------------負載均衡算法(有roundrobin、static-rr、leastconn、source、url、url_param、hdr、rdp_cookie)
frontend  main *:5000           -----------------------------------------------------------------------frontend前端配置,爲haproxy安裝時就有,能力有限,不再解釋
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js
    use_backend static          if url_static
    default_backend             app
backend static       ----------------------------------------------------------------------------------backend前端配置,爲haproxy安裝時就有,能力有限,不再解釋
    balance     roundrobin
    server      static 127.0.0.1:4331 check
backend app        ----------------------------------------------------------------------------------backend前端配置,爲haproxy安裝時就有,能力有限,不再解釋
    balance     roundrobin
    server  app1 127.0.0.1:5001 check
    server  app2 127.0.0.1:5002 check
    server  app3 127.0.0.1:5003 check
    server  app4 127.0.0.1:5004 check

啓動haproxy服務

service haproxy start

訪問haproxy監控頁面端口下的/status,爲了安全起見,第一次登陸需要賬號密碼,賬號密碼就是配置文件裏設置的
haproxy安裝配置
進入監控頁面,在這裏可以看到我們的配置
haproxy安裝配置
訪問haproxy服務器ip的8088端口,可以發現跳轉到了Web服務器1
haproxy安裝配置
訪問haproxy服務器ip的8089端口,可以發現跳轉到了Web服務器2
haproxy安裝配置
也可以設置域名訪問到不同web服務器,但要在本地host綁定域名ip對應關係。
haproxy服務器配置成功
個人總結:haproxy安裝非常方便,但haproxy更多的是要學會haproxy的調優及各種配置,本文只講解了部分配置,因本人能力有限,還有許多配置未涉及到,但我後期會繼續學習,後續再做補充。

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