最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
HAProxy概述及其負(fù)載的幾種方式-創(chuàng)新互聯(lián)

下文給大家?guī)?lái) HAProxy概述及其負(fù)載的幾種方式,希望能夠給大家在實(shí)際運(yùn)用中帶來(lái)一定的幫助,負(fù)載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書(shū)籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計(jì)的經(jīng)驗(yàn)來(lái)做一個(gè)解答。

創(chuàng)新互聯(lián)建站是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁(yè)美工、網(wǎng)站程序員、網(wǎng)頁(yè)設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營(yíng)銷(xiāo)人員及形象策劃。承接:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫(kù)開(kāi)發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門(mén)戶平臺(tái)等全方位的服務(wù)。

 1. HAProxy概述

      HAProxy 提供高可用性、負(fù)載均衡以及基于 TCP 和 HTTP 應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案。根據(jù)官方數(shù)據(jù),其高極限支持 10G 的并發(fā)。HAProxy 特別適用于那些負(fù)載特大的 web 站點(diǎn), 這些站點(diǎn)通常又需要會(huì)話保持或七層處理。 HAProxy 運(yùn)行在當(dāng)前的硬件上,完全可以支持?jǐn)?shù)以萬(wàn)計(jì)的并發(fā)連接。并且它的運(yùn)行模式使得它可以很簡(jiǎn)單安全的整合進(jìn)您當(dāng)前的架構(gòu)中,同時(shí)可以保護(hù)你的 web 云服務(wù)器不被暴露到網(wǎng)絡(luò)上。其支持從 4 層至 7 層的網(wǎng)絡(luò)交換,即覆蓋所有的 TCP 協(xié)議。就是說(shuō),Haproxy 甚至還支持 Mysql 的均衡負(fù)載。

HAProxy概述及其負(fù)載的幾種方式相同點(diǎn):在功能上,proxy 通過(guò)反向代理方式實(shí)現(xiàn) web 均衡負(fù)載,和 Nginx,ApacheProxy,lighttpd, Cheroke 等一樣。
不同點(diǎn):Haproxy 并不是 Http 服務(wù)器。以上提到所有帶反向代理均衡負(fù)載的產(chǎn)品,都清一色是 WEB 服務(wù)器。簡(jiǎn)單說(shuō),就是他們能自個(gè)兒提供靜態(tài)(html,jpg,gif..)或動(dòng)態(tài)(php,cgi..)文件的傳輸以及處理。而 Haproxy 僅僅,而且專(zhuān)門(mén)是一款的用于均衡負(fù)載的應(yīng)用代理。其自身并不能提供 http 服務(wù)。 但其配置簡(jiǎn)單,擁有非常不錯(cuò)的服務(wù)器健康檢查功能還有專(zhuān)門(mén)的系統(tǒng)狀態(tài)監(jiān)控頁(yè)面,當(dāng)其代理的后端服務(wù)器出現(xiàn)故障, HAProxy 會(huì)自動(dòng)將該服務(wù)器摘除,故障恢復(fù)后再自動(dòng)將該服務(wù)器加入。
HAProxy 負(fù)載的幾種方式:
1. 輪詢                   roundrobin
2. 最少連接數(shù)         Leastconn
3. 根據(jù)源IP            source
4. 根據(jù)URI             uri
5. 根據(jù)URL里的參數(shù)  url_param(根據(jù)請(qǐng)求串中的數(shù)據(jù)hush后做lb,譬如需要一個(gè)userid永遠(yuǎn)在某臺(tái)服務(wù)器上,該策略是靜態(tài)的
2.HAProxy 官網(wǎng)地址
http://www.haproxy.org/
3.Haproxy 實(shí)驗(yàn)拓?fù)?br/>HaProxy分發(fā)器:192.168.42.175
Web1 (nginx)server:192.168.42.176
Web2 (nginx)server:192.168.42.177
HAProxy概述及其負(fù)載的幾種方式

Haproxy服務(wù)端配置
[root@xuegod175 ~]# tar xvf haproxy-1.5.15.tar.gz -C /usr/local/src/
[root@xuegod175 ~]#cd /usr/local/src/haproxy-1.5.15/
[root@xuegod175 haproxy-1.5.15]# cat README | less //查看安裝方式,比較特殊
[root@xuegod175 haproxy-1.5.15]# uname -a
Linux xuegod175.cn 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@xuegod175 haproxy-1.5.15]# make TARGET=linux26 PREFIX=/usr/local/haproxy
//指定操作系統(tǒng)內(nèi)核類(lèi)型和安裝的路徑。也可以直接修改 Makefile 配置文件中這兩個(gè)變量的值。如下:
[root@xuegod175 haproxy-1.5.15]# vim Makefile
添加:TARGET = linux26
[root@xuegod175 haproxy-1.5.15]# make install PREFIX=/usr/local/haproxy
[root@xuegod175 haproxy-1.5.15]# cd /usr/local/haproxy/
[root@xuegod175 haproxy]# ls
doc sbin share #沒(méi)有配置文件目錄
[root@xuegod175 haproxy]# mkdir /usr/local/haproxy/etc ; cd
[root@xuegod175 ~]# cp /usr/local/src/haproxy-1.5.15/examples/haproxy.cfg /usr/local/haproxy/etc/

[root@xuegod175 ~]# vim /usr/local/haproxy/etc/haproxy.cfg #global 全局,以全局定義為準(zhǔn) #defaults   默認(rèn),在全局的前提下,默認(rèn)跟局部的配置,如果局部沒(méi)說(shuō),那就按默認(rèn)走,如果局部有定義那就按局部。 #frontend   前端,監(jiān)聽(tīng)地址,監(jiān)聽(tīng)端口,該如何處理。。。。。 #backend    后端服務(wù)器,定義那些真正處理業(yè)務(wù)的服務(wù)器Realserver. #listen 將frontend和backend 合體的一種方案 global log 127.0.0.1  local0 #log 127.0.0.1  local1 notice #log loghost    local0 info maxconn 4096 chroot /usr/local/haproxy uid 99                          #所屬運(yùn)行的用戶uid gid 99                          #所屬運(yùn)行的用戶組 daemon                          #以后臺(tái)形式運(yùn)行haproxy nbproc 1                        #啟動(dòng)1個(gè)haproxy實(shí)例。# #工作進(jìn)程數(shù)量(CPU數(shù)量) ,實(shí)際工作中,應(yīng)該設(shè)置成和CPU核心數(shù)一樣。 這樣可以發(fā)揮出大的性能。 pidfile /usr/local/haproxy/run/haproxy.pid  #將所有進(jìn)程寫(xiě)入pid文件 #debug                          #調(diào)試錯(cuò)誤時(shí)用 #quiet                          #安靜 defaults log    global log    127.0.0.1      local3        #日志文件的輸出定向。產(chǎn)生的日志級(jí)別為local3. 系統(tǒng)中l(wèi)ocal1-7,用戶自己定義 mode    http                        #工作模式。所處理的類(lèi)別,默認(rèn)采用http模式,可配置成tcp作4層消息轉(zhuǎn)發(fā) option  httplog                     #日志類(lèi)別,記載http日志 option  httpclose                   #每次請(qǐng)求完畢后主動(dòng)關(guān)閉http通道,haproxy不支持keep-alive,只能模擬這種模式的實(shí)現(xiàn) option  dontlognull                 #不記錄空連接,產(chǎn)生的日志 option  forwardfor                  #如果后端服務(wù)器需要獲得客戶端真實(shí)ip需要配置的參數(shù),可以從Http Header中獲得客戶端ip option  redispatch                  #當(dāng)serverid對(duì)應(yīng)的服務(wù)器掛掉后,強(qiáng)制定向到其他健康服務(wù)器 retries 2                           #2次連接失敗就認(rèn)為服務(wù)器不可用,主要通過(guò)后面的check檢查 maxconn 2000                        #大連接數(shù) balance roundrobin                  #負(fù)載均衡算法 stats  uri    /haproxy-stats        #haproxy 監(jiān)控頁(yè)面的訪問(wèn)地址 # 可通過(guò) http://localhost:80/haproxy-stats 訪問(wèn) timeout connect      5000ms                #連接超時(shí)時(shí)間。 單位:ms 毫秒,  timeout client      50000ms               #客戶端連接超時(shí)時(shí)間, timeout server      50000ms               #服務(wù)器端連接超時(shí)時(shí)間,  listen  localhost 0.0.0.0:80                  #運(yùn)行的端口及主機(jī)名  mode    http option  httpchk GET /index.html                 #健康檢測(cè)。#注意實(shí)際工作中測(cè)試時(shí),應(yīng)該下載某一個(gè)頁(yè)面來(lái)進(jìn)行測(cè)試,因此這個(gè)頁(yè)面應(yīng)該是個(gè)小頁(yè)面,而不要用首頁(yè)面。這里是每隔一秒檢查一次頁(yè)面。 server  s1 192.168.42.176:80  weight 3 check      #后端的主機(jī) IP &權(quán)衡 server  s2 192.168.42.177:80 weight 3 check       #后端的主機(jī) IP &權(quán)衡

[root@xuegod175 ~]# id nobody //99 是 nobody 運(yùn)行用戶
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@xuegod175 ~]# mkdir -p /usr/local/haproxy/run
[root@xuegod175 ~]# chown nobody /usr/local/haproxy/ -R
[root@xuegod175 ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg //啟動(dòng)
[root@xuegod175 ~]# ps -aux | grep haproxy
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
nobody 3327 0.0 0.0 12200 960 ? Ss 13:37 0:00 /usr/local/haproxy/sbin/haproxy -f
/usr/local/haproxy/etc/haproxy.cfg
[root@xuegod175 ~]# netstat -antup | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3327/haproxy
比較特殊重啟方法:
[root@xuegod175 ~]# /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/etc/haproxy.cfg -st `cat /usr/local/haproxy/run/haproxy.pid`
//重啟 -st 參數(shù)含義:-sf/-st [pid ( haproxy 當(dāng)前進(jìn)程程 ID) ] 完成/終止舊的 PID。 此參數(shù)必須是最后一個(gè)參數(shù)。
[root@xuegod175 etc]# killall haproxy //停止服務(wù)
制作 HAproxy 啟動(dòng)腳本
[root@xuegod175 ~]# cp /usr/local/src/haproxy-1.5.15/examples/haproxy.init /etc/init.d/haproxy //可以修改此文件
實(shí)現(xiàn)啟動(dòng)腳本,太多修改內(nèi)容
直接使用下面的作為啟動(dòng)腳本
[root@xuegod175 ~]# vim /etc/init.d/haproxy

[root@xuegod175 haproxy-1.5.15]# cat /etc/init.d/haproxy  #! /bin/sh set -e PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/haproxy/sbin PROGDIR=/usr/local/haproxy PROGNAME=haproxy DAEMON=$PROGDIR/sbin/$PROGNAME CONFIG=$PROGDIR/etc/haproxy.cfg PIDFILE=$PROGDIR/$PROGNAME.pid DESC="HAProxy daemon" SCRIPTNAME=/etc/init.d/$PROGNAME # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 start() { echo -n "Starting $DESC: $PROGNAME" $DAEMON -f $CONFIG echo "." } stop() { echo -n "Stopping $DESC: $PROGNAME" haproxy_pid=$(cat $PIDFILE) kill -15 $haproxy_pid echo "." } restart() { echo -n "Restarting $DESC: $PROGNAME" $DAEMON -f $CONFIG -p $PIDFILE -sf $(cat $PIDFILE) echo "." } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2 exit 1 ;; esac exit 0

#說(shuō)明:腳本中 set -e 的作用
#你寫(xiě)的每個(gè)腳本都應(yīng)該在文件開(kāi)頭加上 set -e,這句語(yǔ)句告訴 bash 如果任何語(yǔ)句的執(zhí)行結(jié)果不是 true 則應(yīng)該退出。這樣的好處是防止錯(cuò)誤像滾雪球般變大導(dǎo)致一個(gè)致命的錯(cuò)誤,而這些錯(cuò)誤本應(yīng)該在之前就被處理掉。
[root@xuegod175 ~]# /etc/init.d/haproxy restart //可以實(shí)現(xiàn)啟動(dòng)

HA-Proxy 日志配置
配置日志收集
[root@xuegod175 ~]# vim /etc/rsyslog.conf //打開(kāi)以以下兩行的注釋?zhuān)淮蜷_(kāi)收不到日志。
$ModLoad imudp #取消注釋
$UDPServerRun 514 #取消注釋
local7.* /var/log/boot.log #下面添加兩行
local3.* /var/log/haproxy.log
local0.* /var/log/haproxy.log
[root@xuegod175 ~]# /etc/init.d/rsyslog restart
Web服務(wù)端配置測(cè)試文件
注:這里的web服務(wù)器均使用了nginx,安裝過(guò)程省略掉。
[root@xuegod176 ~]# cat /usr/local/nginx/html/index.html
192.168.42.176
[root@xuegod177 ~]# cat /usr/local/nginx/html/index.html
192.168.42.177
訪問(wèn)進(jìn)行測(cè)試:
測(cè)試訪問(wèn)界面web1

HAProxy概述及其負(fù)載的幾種方式

測(cè)試訪問(wèn)界面 web2

HAProxy概述及其負(fù)載的幾種方式

3.測(cè)試訪問(wèn)HAProxy
通過(guò)訪問(wèn)HAProxy  實(shí)現(xiàn)了輪詢?cè)L問(wèn)web 服務(wù)器一、二的效果,說(shuō)明HAProxy負(fù)載均衡已經(jīng)搭建成功。

HAProxy概述及其負(fù)載的幾種方式

HAProxy概述及其負(fù)載的幾種方式

通過(guò)訪問(wèn)http://192.168.42.175/haproxy-stats

HAProxy概述及其負(fù)載的幾種方式

停掉web2服務(wù)進(jìn)行測(cè)試

HAProxy概述及其負(fù)載的幾種方式

看了以上關(guān)于HAProxy概述及其負(fù)載的幾種方式,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專(zhuān)業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗(yàn)了。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


文章標(biāo)題:HAProxy概述及其負(fù)載的幾種方式-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://fisionsoft.com.cn/article/dpocci.html