国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

如何在Linux上使用HAProxy配置HTTP負載均衡系統(tǒng)?

譯文
開源 Linux
如今對基于互聯(lián)網(wǎng)的應(yīng)用和服務(wù)的要求越來越大,這給廣大的IT管理員施加了越來越大的壓力。面對突如其來的流量猛增、自生的流量增加或者是內(nèi)部挑戰(zhàn)(比如硬件故障和緊急維護),不管怎樣,你的互聯(lián)網(wǎng)應(yīng)用都必須保持隨時可用。

如今對基于互聯(lián)網(wǎng)的應(yīng)用和服務(wù)的要求越來越大,這給廣大的IT管理員施加了越來越大的壓力。面對突如其來的流量猛增、自生的流量增加或者是內(nèi)部挑戰(zhàn)(比如硬件故障和緊急維護),不管怎樣,你的互聯(lián)網(wǎng)應(yīng)用都必須保持隨時可用。連現(xiàn)代化的開發(fā)運營和持續(xù)交付做法也會危及互聯(lián)網(wǎng)服務(wù)的可靠性和一貫表現(xiàn)。

無法預(yù)測或缺乏一貫的表現(xiàn)是你所無法承受的。那么,我們?nèi)绾文芟@些缺點呢?在大多數(shù)情況下,一套合適的負載均衡解決方案有望滿足這個要求。今天我將為各位介紹如何使用HAProxy搭建一套HTTP負載均衡系統(tǒng)。

HTTP負載均衡簡介

HTTP負載均衡是一種網(wǎng)絡(luò)解決方案,負責(zé)在托管相同應(yīng)用內(nèi)容的幾臺服務(wù)器之間分配進入的HTTP或HTTPS流量。由于在多臺可用服務(wù)器之間均衡了應(yīng)用請求,負載均衡系統(tǒng)就能防止任何應(yīng)用服務(wù)器變成單一故障點,因而提高了整體的應(yīng)用可用性和響應(yīng)能力。它還讓你可以隨著不斷變化的工作負載,輕松地縮小/擴大部署的應(yīng)用系統(tǒng)的規(guī)模,只需添加或刪除額外的應(yīng)用服務(wù)器。

哪里使用負載均衡、何時使用?

由于負載均衡系統(tǒng)改進了服務(wù)器的利用率,***限度地提高了可用性,只要你的服務(wù)器開始面臨繁重負載,或者正為一個較龐大的項目規(guī)劃架構(gòu),就應(yīng)該使用它。事先規(guī)劃好負載均衡系統(tǒng)的用途是個好習(xí)慣。那樣,未來你需要擴展環(huán)境規(guī)模時,它會證明其用途。

HAProxy是什么東東?

HAProxy是一種流行的開源負載均衡和代理系統(tǒng),面向GNU/Linux平臺上的TCP/HTTP服務(wù)器。HAProxy采用了單一線程的事件驅(qū)動型架構(gòu)而設(shè)計,它能夠輕松地處理10G網(wǎng)卡線路速度,現(xiàn)廣泛應(yīng)用于許多生產(chǎn)環(huán)境中。其功能特性包括:自動檢查健康狀況、可定制的負載均衡算法、支持HTTPS/SSL以及會話速率限制等。

我們在本教程中要達到什么樣的目的?

在本教程中,我們將逐步介紹為HTTP網(wǎng)站服務(wù)器配置基于HAProxy的負載均衡系統(tǒng)這個過程。

前提條件

你至少需要一臺(***是兩臺)網(wǎng)站服務(wù)器來證實所搭建負載均衡系統(tǒng)的功能。我們假設(shè),后端HTTP網(wǎng)站服務(wù)器已經(jīng)搭建并運行起來。

將HAProxy安裝到Linux上

就大多數(shù)發(fā)行版而言,我們可以使用你所用發(fā)行版的軟件包管理器來安裝HAProxy。

將HAProxy安裝到Debian上

在Debian中,我們需要為Wheezy添加向后移植功能。為此,請在/etc/apt/sources.list.d中創(chuàng)建一個名為“backports.list”的新文件,其內(nèi)容如下:

  1. deb http://cdn.debian.net/debian wheezy­backports main 

更新你的軟件庫數(shù)據(jù),并安裝HAProxy。

  1. # apt­ get update  
  2. # apt ­get install haproxy 

將HAProxy安裝到Ubuntu上

  1. # apt ­get install haproxy 

將HAProxy安裝到CentOS和RHEL上

  1. # yum install haproxy 

配置HAProxy

在本教程中,我們假設(shè)有兩臺HTTP網(wǎng)站服務(wù)器已搭建并運行起來,其IP地址分別為192.168.100.2和192.168.100.3。我們還假設(shè),負載均衡系統(tǒng)將在IP地址為192.168.100.4的那臺服務(wù)器處進行配置。

為了讓HAProxy發(fā)揮功用,你需要更改/etc/haproxy/haproxy.cfg中的幾個項目。這些變更在本章節(jié)中予以描述。萬一某個配置對不同的GNU/Linux發(fā)行版而言有所不同,會在相應(yīng)段落中加以注明。

1. 配置日志功能

你首先要做的工作之一就是,為你的HAProxy建立合適的日志功能,這對將來進行調(diào)試大有用處。日志配置內(nèi)容位于/etc/haproxy/haproxy.cfg的global部分。下面這些是針對特定發(fā)行版的指令,用于為HAProxy配置日志。

CentOS或RHEL:

要想在CentOS/RHEL上啟用日志功能,把:

log 127.0.0.1 local2

換成:

log 127.0.0.1 local0

下一步,在/var/log中為HAProxy創(chuàng)建單獨的日志文件。為此,我們需要改動當前的rsyslog配置。為了讓配置簡單而清楚,我們將在/etc/rsyslog.d/中創(chuàng)建一個名為haproxy.conf的新文件,其內(nèi)容如下。

  1. $ModLoad imudp   
  2. $UDPServerRun 514    
  3. $template Haproxy,"%msg%\n"   
  4. local0.=info ­/var/log/haproxy.log;Haproxy   
  5. local0.notice ­/var/log/haproxy­status.log;Haproxy   
  6. local0.* ~   

該配置將把基于$template的所有HAProxy消息隔離到/var/log中的日志文件。現(xiàn)在,重啟rsyslog,讓變更內(nèi)容生效。

  1. # service rsyslog restart 

Debian或Ubuntu:

要想在Debian或Ubuntu上為HAProxy啟用日志功能,把:

  1. log /dev/log local0  
  2. log /dev/log local1 notice 

換成:

  1. log 127.0.0.1 local0 

下一步,為HAProxy配置單獨的日志文件,編輯/etc/rsyslog.d/中一個名為haproxy.conf的文件(或者Debian中的49-haproxy.conf),其內(nèi)容如下。

  1. $ModLoad imudp   
  2. $UDPServerRun 514    
  3. $template Haproxy,"%msg%\n"   
  4. local0.=info ­/var/log/haproxy.log;Haproxy   
  5. local0.notice ­/var/log/haproxy­status.log;Haproxy   
  6. local0.* ~   

該配置將把基于$template的所有HAProxy消息隔離到/var/log中的日志文件。現(xiàn)在,重啟rsyslog,讓變更內(nèi)容生效。

  1. # service rsyslog restart 

2. 設(shè)置默認值

下一步是為HAProxy設(shè)置默認變量。找到/etc/haproxy/haproxy.cfg中的defaults部分,把它換成下列配置。

  1. log     global   
  2. mode    http   
  3. option  httplog   
  4. option  dontlognull   
  5. retries 3   
  6. option redispatch   
  7. maxconn 20000   
  8. contimeout      5000   
  9. clitimeout      50000   
  10. srvtimeout      50000  

上述配置推薦HTTP負載均衡器使用,但可能不是最適合你環(huán)境的解決方案。如果那樣,請參閱HAProxy參考手冊頁,進行適當?shù)母膭雍驼{(diào)整。

3. 網(wǎng)站服務(wù)器集群的配置

網(wǎng)站服務(wù)器集群(Webfarm)的配置定義了可用的HTTP服務(wù)器集群。我們所建負載均衡系統(tǒng)的大部分設(shè)置都將放在這里。現(xiàn)在,我們將創(chuàng)建一些基本的配置,我們的節(jié)點將在這里加以定義。把從frontend部分到文件末尾的所有配置換成下列代碼:

  1. listen webfarm *:80   
  2.      mode http   
  3.      stats enable   
  4.      stats uri /haproxy?stats   
  5.      stats realm Haproxy\ Statistics   
  6.      stats auth haproxy:stats   
  7.      balance roundrobin   
  8.      cookie LBN insert indirect nocache   
  9.      option httpclose   
  10.      option forwardfor   
  11.      server web01 192.168.100.2:80 cookie node1 check   
  12.      server web02 192.168.100.3:80 cookie node2 check  

“listen webfarm *:80”這一行定義了我們的負載均衡系統(tǒng)將偵聽哪些接口。出于本教程的需要,我將該值設(shè)為“*”,這讓負載均衡系統(tǒng)偵聽我們的所有接口。在實際場景下,這可能不合意,應(yīng)該換成可從互聯(lián)網(wǎng)來訪問的某個接口。

  1. stats enable   
  2. stats uri /haproxy?stats   
  3. stats realm Haproxy\ Statistics   
  4. stats auth haproxy:stats  

上述設(shè)置聲明,可以在http://<load-balancer-IP>/haproxy?stats處訪問負載均衡系統(tǒng)的統(tǒng)計數(shù)字。這種訪問由簡單的HTTP驗證以及登錄名“haproxy”和密碼“stats”來確保安全。這些設(shè)置應(yīng)該換成你自己的登錄信息。如果你不想讓這些統(tǒng)計數(shù)字被人看到,那么可以完全禁用它們。

下面是HAProxy統(tǒng)計數(shù)字的一個例子。

 

“balance roundrobin”這一行定義了我們將使用哪種類型的負載均衡。在本教程中,我們將使用簡單的輪叫調(diào)度算法,這對HTTP負載均衡來說完全綽綽有余。HAProxy還提供了其他類型的負載均衡:

•leastconn:連接數(shù)最少的服務(wù)器優(yōu)先接收連接。

•source:對源IP地址進行哈希處理,用運行中服務(wù)器的總權(quán)重除以哈希值,即可決定哪臺服務(wù)器將接收請求。

•uri:URI的左邊部分(問號前面)經(jīng)哈希處理,用運行中服務(wù)器的總權(quán)重除以哈希值。所得結(jié)果決定哪臺服務(wù)器將接收請求。

•url_param:變量中指定的URL參數(shù)將在每個HTTP GET請求的查詢串中進行查詢。你基本上可以將使用蓄意制作的URL(crafted URL)的請求鎖定于特定的負載均衡節(jié)點。

•hdr(name):HTTP頭<name> 將在每個HTTP請求中進行查詢,被定向到特定節(jié)點。

“cookie LBN insert indirect nocache”這一行讓我們的負載均衡系統(tǒng)存儲持久性cookie,這讓我們得以準確查明集群中的哪個節(jié)點用于某一個會話。這些節(jié)點cookie將與指定的名稱一并存儲起來。在我們這個例子中,我使用了“LBN”,但你可以指定自己喜歡的任意名稱。節(jié)點將為該cookie把字符串作為一個值而存儲起來。

  1. server web01 192.168.100.2:80 cookie node1 check   
  2. server web02 192.168.100.3:80 cookie node2 check   

上述部分對網(wǎng)站服務(wù)器節(jié)點集群進行了定義。每臺服務(wù)器都用內(nèi)部名稱(比如web01和web02)、IP地址和獨特的cookie串來表示。cookie串可以定義為你需要的任何名稱。我使用了簡單的node1、node2 ... node(n)。

啟動HAProxy

你完成了配置工作后,可以啟動HAProxy,驗證一切按預(yù)期運行。

#p#

在Centos/RHEL上啟動HAProxy

使用下列指令,讓HAProxy能夠在系統(tǒng)啟動后啟動,并打開它:

  1. # chkconfig haproxy on  
  2. # service haproxy start  

當然,別忘了啟用防火墻中的端口80,如下所示。

CentOS/RHEL 7上的防火墻:

 

  1. # firewall­cmd ­­permanent ­­zone=public ­­add­port=80/tcp  
  2. # firewall­cmd ­­reload  

 

CentOS/RHEL 6上的防火墻:

把下面這一行添加到/etc/sysconfig/iptables中的這部分“:OUTPUT ACCEPT”:

  1. A INPUT ­m state ­­state NEW ­m tcp ­p tcp ­­dport 80 ­j ACCEPT 

然后重啟iptables:

  1. # service iptables restart 

在Debian上啟動HAProxy

使用下列指令啟動HAProxy:

  1. # service haproxy start 

別忘了啟用防火墻中的端口80,為此把下面這一行添加到/etc/iptables.up.rules:

  1. A INPUT ­p tcp ­­dport 80 ­j ACCEPT 

在Ubuntu上啟動HAProxy

讓HAProxy能夠在系統(tǒng)啟動后啟動,只要在/etc/default/haproxy中將“ENABLED”選項設(shè)為“1”:

  1. ENABLED=1 

啟動HAProxy:

  1. # service haproxy start 

然后啟用防火墻中的端口80:

  1. # ufw allow 80 

測試HAProxy

為了檢查HAproxy是否在正常工作,我們可以執(zhí)行下列步驟:

首先,用下列內(nèi)容準備好test.php文件:

 

  1. <?php 
  2. header('Content-Type: text/plain');  
  3. echo "Server IP: ".$_SERVER['SERVER_ADDR'];  
  4. echo "\nX-Forwarded-for: ".$_SERVER['HTTP_X_FORWARDED_FOR'];  
  5. ?> 

 

該PHP文件將告訴我們哪臺服務(wù)器(即負載均衡系統(tǒng))轉(zhuǎn)發(fā)請求,哪臺后端網(wǎng)站服務(wù)器實際處理請求。

把該PHP文件放到這兩臺后端網(wǎng)站服務(wù)器的根目錄下。現(xiàn)在,使用curl命令,從負載均衡系統(tǒng)(192.168.100.4)提取這個PHP文件。

  1. $ curl http://192.168.100.4/test.php 

我們多次運行這個命令時,應(yīng)該會看到下面兩個輸出交替出現(xiàn)(由于輪叫調(diào)度算法)。

Server IP: 192.168.100.2

X-Forwarded-for: 192.168.100.4

Server IP: 192.168.100.3

X-Forwarded-for: 192.168.100.4

如果我們停止這兩臺后端網(wǎng)站服務(wù)器中的其中一臺,curl命令應(yīng)該仍會執(zhí)行,將請求定向到另一臺可用的網(wǎng)站服務(wù)器。

結(jié)束語

至此,你應(yīng)該有了一套完全實用的負載均衡系統(tǒng),能夠在輪叫循環(huán)模式下為你的網(wǎng)站節(jié)點提供請求。與往常一樣,你可以隨意更改配置,讓它更適合自己的基礎(chǔ)設(shè)施。希望本教程幫助你讓自己的網(wǎng)站項目具有更強的抗壓力和更高的可用性。

正如大家已經(jīng)注意到的那樣,本教程所含的設(shè)置適用于僅僅一套負載均衡系統(tǒng)。這意味著,我們把一個單一故障點換成了另一個單一故障點。在實際場景下,你應(yīng)該部署至少兩套或三套負載均衡系統(tǒng),以防范可能出現(xiàn)的任何故障,但這不在本教程的討論范圍之內(nèi)。

要是你有什么問題或建議,歡迎留言。
 

英文:http://xmodulo.com/haproxy-http-load-balancer-linux.html

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2012-05-07 10:17:48

2010-05-05 22:58:46

2012-02-14 00:01:22

2011-08-24 13:45:49

HAProxy負載均衡負載均衡器

2011-03-17 09:27:07

HAProxy負載均衡

2022-09-19 08:45:52

Telnet系統(tǒng)Linux

2021-10-02 10:10:47

LinuxBusyBox命令

2010-04-22 12:45:05

2019-11-26 16:58:51

Linuxpkgsrc

2019-01-07 09:50:06

Linuxtarball命令

2023-01-17 07:40:59

LinuxAppImage應(yīng)用程序

2012-12-07 10:14:48

Nginx負載均衡

2013-11-14 10:32:40

Linux系統(tǒng)監(jiān)測系統(tǒng)溫度

2020-08-24 12:37:54

Linuxxargs命令

2013-12-13 09:55:44

VDI負載均衡

2015-11-30 15:05:01

Linux瀏覽器Docker

2013-03-06 13:27:03

HadoopLinux

2022-08-10 13:12:04

Linuxcat命令

2016-01-15 09:56:44

LinuxUbuntuGlances

2014-07-14 09:24:51

Debiansystemd
點贊
收藏

51CTO技術(shù)棧公眾號

国产成人在线网站| 午夜精品一区二区三区在线 | 国产精品老牛| 国产精品va无码一区二区| 91成人精品观看| 国内精品视频在线| 蜜桃伊人久久| 免费福利片在线观看| 精品少妇一区二区| 日韩aaa久久蜜桃av| 亚洲激情图片| 精品高清美女精品国产区| jizz免费一区二区三区| 亚洲综合日韩中文字幕v在线| 成人动漫一区二区三区| 色大18成网站www在线观看| 九色精品美女在线| 天堂va蜜桃一区二区三区漫画版 | 久久精品.com| 精品国精品自拍自在线| 欧美日韩色图| 能在线观看的av| 精品嫩草影院久久| 国产精品7m凸凹视频分类| 久久人妻精品白浆国产| 亚洲国产成人久久综合| 久久精品久久久| 日日噜噜夜夜狠狠| 亚洲欧美日韩一区二区在线 | 亚洲视频免费| 国产小黄视频| 久久综合伊人77777蜜臀| 日本网站在线观看一区二区三区| 最新日本视频| 欧美激情手机在线视频 | 国产 欧美在线| 欧美三级黄网| 国产精品欧美一区二区三区奶水| 9l国产精品久久久久麻豆| 黄色美女视频在线观看| 国产精品加勒比| 亚洲不卡av一区二区三区| 6080亚洲理论片在线观看| 综合网五月天| 欧美日韩在线电影| 无码一区二区三区视频| 国产不卡视频| 91av福利视频| 国产精品午夜免费| 午夜视频在线观看精品中文| 国产青青在线视频| 一道本无吗dⅴd在线播放一区| 奇米色一区二区| 国产精品扒开做爽爽爽的视频| dy888夜精品国产专区| 黄色成人av在线| 日韩在线高清| 羞羞视频在线观看| 91视频国产一区| 精品福利樱桃av导航| 日韩中字在线| 最新在线观看av网站| 国产精品久久久久久av福利软件| 1000部国产精品成人观看| 久草精品视频| 免费xxxxx网站中文字幕| 久久精品观看| av资源在线看片| 中文字幕一区二区三区5566| 日韩精品极品视频免费观看| 精一区二区三区| 亚洲成人av观看| 日韩人妻精品无码一区二区三区| 久久久999成人| 国产精品电影一区二区| 日韩电影免费在线观看| h视频在线免费| 日韩欧美在线电影| 亚洲欧美国产精品久久久久久久| 国产成人免费视频一区| 国产午夜亚洲精品一级在线| 在线观看高清免费视频| 欧美诱惑福利视频| 色综合一个色综合| 三级成人在线视频| 美女网站视频一区| 少妇一级淫免费放| 国产精品视频免费观看www| 色婷婷av一区二区三区软件| 日韩精品乱码av一区二区| 精品91久久| 中文字幕国产免费| 亚洲自拍另类欧美丝袜| 91精品欧美一区二区三区综合在 | 国产精品一区在线| 国产一区二区高清在线| 亚洲xxxx2d动漫1| 国产免费亚洲高清| 欧美一区二区播放| 是的av在线| 少妇熟女一区二区| 久久99精品久久久久久琪琪| 亚洲高清免费观看高清完整版在线观看 | 天堂av在线网| 亚洲欧洲日本精品| 91精品视频免费| 精品久久久久久久人人人人传媒 | 国产免费高清一区| 亚洲精品自拍偷拍| 一色屋精品亚洲香蕉网站| 自拍偷拍欧美专区| 91高清视频在线观看| 成人黄色片视频| 成人黄色免费看| 精品视频偷偷看在线观看| 国产精品久久久久aaaa樱花| 精品999网站| 伊人久久大香伊蕉在人线观看热v| 成人在线小说| a级网站在线观看| 国产成人短视频| 精品亚洲男同gayvideo网站| 一区二区在线观看视频| 麻豆传媒一区二区三区| 亚洲人成精品久久久| 日韩经典av| 天堂男人av| a级免费在线观看| 国产欧美精品在线| 亚洲一区二区精品| 欧美性生交大片免费| 风流少妇一区二区| 日韩欧美伦理| 国产99在线免费| 色综合久久中文字幕综合网小说| 色8久久人人97超碰香蕉987| av一区二区三区在线| 99国产成+人+综合+亚洲欧美| 国产精品成人3p一区二区三区| 国产69久久| 国产一线二线三线在线观看| 手机看片福利永久国产日韩| 国产精品美女免费视频| 中文精品99久久国产香蕉| 欧美日韩久久一区| 亚洲日本电影在线| 国产69精品久久久久毛片| 最新日韩在线| 欧美亚洲国产精品久久| 9999在线精品视频| caoporn视频在线| 国产女人在线观看| 国产美女av| 欧美牲交a欧美牲交aⅴ免费真 | 亚洲乱码中文字幕综合| 精品一区二区在线看| 久久一区二区三区喷水| 日本一区二区乱| 精品人人视频| 成年人在线视频免费观看| 丁香激情视频| 国产欧美在线一区| 国产精品自拍区| 日韩午夜黄色| 国际av在线| 在线看片地址| 欧美精品在线视频| 久久久99精品免费观看不卡| 日本欧美在线观看| 亚洲私人影院| 免费毛片b在线观看| 91麻豆国产自产在线观看| 欧美国产一区二区在线观看 | 国产粉嫩一区二区三区在线观看 | 91在线精品一区二区| 久久精品盗摄| 亚洲精品网址| 国产91精品对白在线播放| 蜜桃成人精品| 欧美激情视频在线免费观看 欧美视频免费一 | 久久精品国产成人精品| 国产一区深夜福利| 日韩精品一区中文字幕| 亚洲精品一区| 久久精品免费观看| 日韩视频中午一区| 亚洲mv在线看| 国产欧洲在线| 女同一区二区| 国产精品日韩一区二区| 成人美女av在线直播| 国产精品91久久久久久| 97视频在线播放| 欧美洲成人男女午夜视频| 亚洲91精品在线| 欧洲日韩成人av| 国产精品96久久久久久| 国产精品影片在线观看| 91网站在线免费观看| 99影视tv|