• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計

            最新評論

            HAProxy負(fù)載均衡器的安裝及配置

            軟件負(fù)載均衡一般通過兩種方式來實現(xiàn):基于操作系統(tǒng)的軟負(fù)載實現(xiàn)和基于第三方應(yīng)用的軟負(fù)載實現(xiàn)。LVS就是基于Linux操作系統(tǒng)實現(xiàn)的一種軟負(fù)載,HAProxy就是開源的并且基于第三應(yīng)用實現(xiàn)的軟負(fù)載。

            AD:

            【51CTO.com 獨家特稿】軟件負(fù)載均衡一般通過兩種方式來實現(xiàn):基于操作系統(tǒng)的軟負(fù)載實現(xiàn)和基于第三方應(yīng)用的軟負(fù)載實現(xiàn)。LVS就是基于Linux操作系統(tǒng)實現(xiàn)的一種軟負(fù)載,HAProxy就是開源的并且基于第三應(yīng)用實現(xiàn)的軟負(fù)載。

            HAProxy相比LVS的使用要簡單很多,功能方面也很豐富。當(dāng) 前,HAProxy支持兩種主要的代理模式:"tcp"也即4層(大多用于郵件服務(wù)器、內(nèi)部協(xié)議通信服務(wù)器等),和7層(HTTP)。在4層模式 下,HAProxy僅在客戶端和服務(wù)器之間轉(zhuǎn)發(fā)雙向流量。7層模式下,HAProxy會分析協(xié)議,并且能通過允許、拒絕、交換、增加、修改或者刪除請求 (request)或者回應(yīng)(response)里指定內(nèi)容來控制協(xié)議,這種操作要基于特定規(guī)則。

            我現(xiàn)在用HAProxy主要在于它有以下優(yōu)點,這里我總結(jié)下:

            一、免費開源,穩(wěn)定性也是非常好,這個可通過我做的一些小項目可以看出來,單Haproxy也跑得不錯,穩(wěn)定性可以與LVS相媲美;

            二、根據(jù)官方文檔,HAProxy可以跑滿10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom's 10GbE NICs (Myri-10G PCI-Express),這個作為軟件級負(fù)載均衡,也是比較驚人的;

            三、HAProxy可以作為MySQL、郵件或其它的非web的負(fù)載均衡,我們常用于它作為MySQL(讀)負(fù)載均衡;

            四、自帶強(qiáng)大的監(jiān)控服務(wù)器狀態(tài)的頁面,實際環(huán)境中我們結(jié)合Nagios進(jìn)行郵件或短信報警,這個也是我非常喜歡它的原因之一;

            五、HAProxy支持虛擬主機(jī)。

            實驗環(huán)境也很簡單:

            HAProxy  IP:192.168.4.192 Centos5.5-64bit
            Web1 IP:192.168.4.45 Centos5.4-64bit
            Web2 IP:192.168.21.45 FreeBSD8.0-64bit

            具體安裝及配置文檔如下:

            一、HAProxy的下載及安裝過程:

            wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
            make TARGET=linux26 prefix=/usr/local/haproxy install
            cd /usr/local/haproxy
            mkdir conf
            cd conf
            vim haproxy.conf

            內(nèi)容 如下:

            global
                    log 127.0.0.1   local0
                    maxconn 4096
                    chroot /usr/local/haproxy
                    uid 501
                    gid 501
                    daemon
                    nbproc 1
                    pidfile /usr/local/haproxy/logs/haproxy.pid
                    debug

            defaults
                    log     127.0.0.1       local3
                    mode    http
                    option httplog
                    option httpclose
                    option dontlognull
                    option forwardfor
                    option redispatch
                    retries 2
                    maxconn 2000
                    balance roundrobin
                    stats   uri     /haproxy-stats
                    contimeout      5000
                    clitimeout      50000
                    srvtimeout      50000

            listen web_proxy 192.168.4.192:80
                    #option httpchk HEAD /index.php  HTTP/1.0
                    server web1_192.168.21.45 192.168.21.45:80 cookie app1inst1 check inter 2000 rise 2 fall 5
                    server web2_192.168.4.45  192.168.4.45:80 cookie app1inst2 check inter 2000 rise 2 fall 5

            配置文件剛從服務(wù)器上copy下來的,保證可用。這里有個事情說明一下,有時候我們進(jìn)入頁面http://192.168.4.192/就會報如下錯誤:

            503 Service UnavailableNo server is available to handle this request.

            option httpchk HEAD /check.txt HTTP/1.0

            此問題出在這句話上面,它的意思是Haproxy會判斷你的后端web的根上存在check.txt沒有,以此作為haproxy-status的監(jiān)控狀態(tài)依據(jù),將它#掉即可;如果是生產(chǎn)環(huán)境,你可將check.txt改為index.jsp或index.php即可;

            另外,建議配置一個HAProxy的啟動、關(guān)閉、重啟腳本,放在/etc/init.d下,我們在平時的工作中應(yīng)該養(yǎng)成一個習(xí)慣,服務(wù)器的啟動或重啟應(yīng)該是最簡單的,萬一到了生產(chǎn)環(huán)境下出錯時,我們可以以最快的方式啟動,如果不用腳本的話,我們就要嘗試以如下方式啟動:

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

            以下腳本生成后,我們直接可以用/etc/init.d/haproxy  start來啟動HAProxy服務(wù)了。

            #!/bin/bash
            BASE_DIR="/usr/local/haproxy"
            ARGV="$@"

            start()
            {
            echo "START HAPoxy SERVERS"
            $BASE_DIR/sbin/haproxy -f $BASE_DIR/conf/haproxy.cfg
            }

            stop()
            {
            echo "STOP HAPoxy Listen"
            kill -TTOU $(cat $BASE_DIR/logs/haproxy.pid)
            echo "STOP HAPoxy process"
            kill -USR1 $(cat $BASE_DIR/logs/haproxy.pid)
            }
            case $ARGV in

            start)
            start
            ERROR=$?
            ;;

            stop)
            stop
            ERROR=$?
            ;;

            restart)
            stop
            start
            ERROR=$?
            ;;

            *)
            echo "hactl.sh [start|restart|stop]"
            esac
            exit $ERROR

            我們在Firefox或IE上輸入http://192.168.4.192  就可以輪詢的看到后端的web的頁面了,另外我們可以隨時監(jiān)控頁面http://192.168.4.192/haproxy-status/,效果圖如下:

            效果圖

            另外,如果要做HAProxy的高可用,我推薦用HAProxy+Keepalived,網(wǎng)上成功的安例也有許多,大家可以googel學(xué)習(xí)下,如果你對此篇文章有疑問或其它,希望通過我在51cto的博客與我交流http://andrewyu.blog.51cto.com(撫琴煮酒)。

            【51CTO.com獨家特稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載!合作媒體轉(zhuǎn)載請注明原文出處及出處!】

            【責(zé)任編輯:佟媛微 TEL:(010)68476606】

            posted on 2014-08-15 15:52 大龍 閱讀(811) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            九九久久99综合一区二区| 伊人丁香狠狠色综合久久| 91精品国产高清久久久久久国产嫩草| 欧洲精品久久久av无码电影| 久久国产乱子伦精品免费强| 超级碰久久免费公开视频| 偷偷做久久久久网站| 狠狠色丁香婷婷综合久久来| 精品欧美一区二区三区久久久| 精品无码久久久久国产动漫3d| 久久99精品国产麻豆宅宅| 久久久久久久亚洲精品| 久久精品视频网| 欧美成人免费观看久久| 久久性精品| 久久久久成人精品无码 | 久久丫精品国产亚洲av| 国产精品无码久久四虎| 久久久久女人精品毛片| 久久香综合精品久久伊人| 99久久精品免费看国产免费| 伊人情人综合成人久久网小说| 精品久久久久久中文字幕| 亚洲va中文字幕无码久久| 亚洲AV无码1区2区久久| 综合久久一区二区三区| 久久久无码精品午夜| 蜜桃麻豆www久久| 久久久久国产一区二区 | 久久久久亚洲?V成人无码| 久久久精品午夜免费不卡| 少妇久久久久久被弄高潮| 精品国产乱码久久久久久呢| 亚洲欧美久久久久9999| 日本久久中文字幕| 一本色道久久88精品综合| 97久久精品国产精品青草| 香蕉久久夜色精品国产小说| 国产精品久久久久无码av | 国产精品久久新婚兰兰| 久久亚洲国产精品五月天婷|