亚洲Aⅴ无码Av红楼在线观看_国产午夜福利涩爱AⅤ_国产sm调教一区二区三区_精品人妻一区二区三区不卡毛片

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁 > 幫助中心>文章內(nèi)容

haproxy安裝配置調(diào)優(yōu) (1)

發(fā)布時間:  2012/7/27 18:12:08
HAProxy提供高可用性、負(fù)載均衡以及基于TCP和HTTP應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案。根據(jù)官方數(shù)據(jù),其最高極限支持10G的并發(fā)。
  HAProxy特別適用于那些負(fù)載特大的web站點(diǎn), 這些站點(diǎn)通常又需要會話保持或七層處理。HAProxy運(yùn)行在當(dāng)前的硬件上,完全可以支持?jǐn)?shù)以萬計的并發(fā)連接。并且它的運(yùn)行模式使得它可以很簡單安全的整合進(jìn)您當(dāng)前的架構(gòu)中, 同時可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。
  其支持從4層至7層的網(wǎng)絡(luò)交換,即覆蓋所有的TCP協(xié)議。就是說,Haproxy 甚至還支持 Mysql 的均衡負(fù)載。。
  如果說在功能上,能以proxy反向代理方式實(shí)現(xiàn) WEB均衡負(fù)載,這樣的產(chǎn)品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke 等。
  但要明確一點(diǎn)的,Haproxy 并不是 Http 服務(wù)器。以上提到所有帶反向代理均衡負(fù)載的產(chǎn)品,都清一色是 WEB 服務(wù)器。簡單說,就是他們能自個兒提供靜態(tài)(html,jpg,gif..)或動態(tài)(php,cgi..)文件的傳輸以及處理。而Haproxy 僅僅,而且專門是一款的用于均衡負(fù)載的應(yīng)用代理。其自身并不能提供http服務(wù)。
  但其配置簡單,擁有非常不錯的服務(wù)器健康檢查功能還有專門的系統(tǒng)狀態(tài)監(jiān)控頁面,當(dāng)其代理的后端服務(wù)器出現(xiàn)故障, HAProxy會自動將該服務(wù)器摘除,故障恢復(fù)后再自動將該服務(wù)器加入。自1.3版本開始還引入了frontend,backend,frontend根據(jù)任意HTTP請求頭內(nèi)容做規(guī)則匹配,然后把請求定向到相關(guān)的backend。
  另外, 版本1.3 是處于活躍開發(fā)階段的版本, 它支持如下新特性:
  l 內(nèi)容交換 : 可以根據(jù)請求(request)的任何一部分 來選擇一組服務(wù)器, 比如請求的 URI , Host頭(header) , cookie , 以及其他任何東西. 當(dāng)然,對那些靜態(tài)分離的站點(diǎn)來說,對此特性還有更多的需求。
  l 全透明代理 : 可以用 客戶端IP地址 或者任何其他地址來連接后端服務(wù)器. 這個特性僅在Linux 2.4/2.6內(nèi)核打了cttproxy 補(bǔ)丁后才可以使用. 這個特性也使得為某特殊服務(wù)器處理部分流量同時又不修改服務(wù)器的地址成為可能。
  l 基于樹的更快的調(diào)度器 : 1.2.16以上的版本要求所有的超時都設(shè)成同樣的值以支持?jǐn)?shù)以萬計的全速連接. 這個特性已經(jīng)移植到1.2.17.
  l 內(nèi)核TCP拼接 : 避免了內(nèi)核到用戶然后用戶到內(nèi)核端的數(shù)據(jù)拷貝, 提高了吞吐量同時又降低了CPU使用率 . Haproxy 1.3支持Linux L7SW 以滿足在商用硬件上數(shù)Gbps 的吞吐的需求。
  l 連接拒絕 : 因?yàn)榫S護(hù)一個連接的打開的開銷是很低的,有時我們很需要限制攻擊蠕蟲(attack bots),也就是說限制它們的連接打開從而限制它們的危害。 這個已經(jīng)為一個陷于小型DDoS攻擊的網(wǎng)站開發(fā)了而且已經(jīng)拯救了很多站點(diǎn)。
  l 細(xì)微的頭部處理 : 使得編寫基于header的規(guī)則更為簡單,同時可以處理URI的某部分。
  l 快而可靠的頭部處理 : 使用完全RFC2616 兼容的完整性檢查對一般的請求全部進(jìn)行分析和索引僅僅需要不到2ms 的時間。
  l 模塊化設(shè)計 : 允許更多人加入進(jìn)此項(xiàng)目,調(diào)試也非常簡單. poller已經(jīng)分離, 已經(jīng)使得它們的開發(fā)簡單了很多. HTTP已經(jīng)從TCP分離出來了,這樣增加新的七層特性變得非常簡單. 其他子系統(tǒng)也會很快實(shí)現(xiàn)模塊化
  l 投機(jī)I/O 處理 : 在一個套接字就緒前就嘗試從它讀取數(shù)據(jù)。poller僅推測哪個可能就緒哪個沒有,嘗試猜測,并且如果成功,一些開銷很大的系統(tǒng)調(diào)用就可以省去了。如果失敗,就會調(diào)用這些系統(tǒng)調(diào)用。已知的使用Linux epoll()已經(jīng)凈提升起碼10%了。
  l ACLs : 使用任意規(guī)則的任意組合作為某動作的執(zhí)行條件。
  l TCP 協(xié)議檢查 : 結(jié)合ACL來對請求的任意部分進(jìn)行檢查,然后再進(jìn)行轉(zhuǎn)發(fā)。這就可以執(zhí)行協(xié)議驗(yàn)證而不是盲目的進(jìn)行轉(zhuǎn)發(fā)。比如說允許SSL但拒絕SSH。
  l 更多的負(fù)載均衡算法 : 現(xiàn)在,動態(tài)加權(quán)輪循(Dynamic Round Robin),加權(quán)源地址哈希(Weighted Source Hash),加權(quán)URL哈希和加權(quán)參數(shù)哈希(Weighted Parameter Hash)已經(jīng)實(shí)現(xiàn)。其他算法比如Weighted Measured Response Time也很快會實(shí)現(xiàn)。
  安裝和配置
  Haproxy 的配置相當(dāng)簡單,
  從官方網(wǎng)站:http://www.haproxy.org 下載最新版本。
  # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz
  # tar zcvf haproxy-1.3.20.tar.gz
  # cd haproxy-1.3.20
  # make TARGET=linux26 PREFIX=/usr/local/haprpxy
  # make install PREFIX=/usr/local/haproxy
  安裝完畢后,進(jìn)入安裝目錄創(chuàng)建配置文件
  # cd /usr/local/haproxy
  # vi haproxy.cfg
  配置內(nèi)容如下:
  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
  nbproc 1
  pidfile /usr/local/haproxy/run/haproxy.pid
  #debug
  #quiet
  defaults
  log global
  log 127.0.0.1 local3 #日志文件的輸出定向
  mode http #所處理的類別
  option httplog #日志類別
  option httpclose
  option dontlognull
  option forwardfor
  option redispatch
  retries 2 #設(shè)置多個haproxy并發(fā)進(jìn)程提高性能
  maxconn 2000
  balance roundrobin #負(fù)載均衡算法
  stats uri /haproxy-stats #haproxy 監(jiān)控頁面的訪問地址
  # 可通過 http://localhost:1080/haproxy-stats 訪問
  contimeout 5000
  clitimeout 50000
  srvtimeout 50000
  listen localhost 0.0.0.0:1080 #運(yùn)行的端口及主機(jī)名
  mode http
  option httpchk GET /index.htm #健康檢測
  server s1 127.0.0.1:3121 weight 3 check #后端的主機(jī) IP &權(quán)衡
  server s2 127.0.0.1:3122 weight 3 check #后端的主機(jī) IP &權(quán)衡
  啟動服務(wù):
  # /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg
  重啟服務(wù):
  # /usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/logs/haproxy.pid` (沒有換行)
  停止服務(wù):
  # killall haproxy
  當(dāng)然,為了方便系統(tǒng)在開機(jī)時加載,還可以創(chuàng)建啟動腳本:
  # vim /etc/rc.d/init.d/haproxy 內(nèi)容如下:
  #! /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/conf/$PROGNAME.conf
  PIDFILE=$PROGDIR/run/$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 $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
  保存后賜予可執(zhí)行權(quán)限
  # chmod +x /etc/rc.d/init.d/haproxy
  就可以使用 service haproxy start|stop|restart 來控制服務(wù)的啟動停止跟重啟。
  并通過以下命令加載到開機(jī)服務(wù)啟動列表
  # chkconfig –add haproxy
  配置日志:
  # vim /etc/syslog.conf
  在最下邊增加
  local3.* /var/log/haproxy.log
  local0.* /var/log/haproxy.log
  重啟核心日志服務(wù)使配置起效
  # service syslog restart
  然后就可查看日志了
  # tail –f /var/log/harpoxy.log
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy www started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy cherokee started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy wap started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy pic started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy img started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy public started.
  Aug 22 15:32:06 localhost haproxy[64136]: Proxy public started.
  Aug 22 15:32:59 localhost haproxy[64137]: 219.142.128.30:6416 [22/Aug/2009:15:32:59.754] public stats/ 0/-1/-1/-1/0 200 17329 – - PR– 0/0/0/0/0 0/0 “GET /?stats HTTP/1.1″
  Aug 22 15:32:59 localhost haproxy[64137]: 219.142.128.30:6416 [22/Aug/2009:15:32:59.754] public stats/ 0/-1/-1/-1/0 200 17329 – - PR– 0/0/0/0/0 0/0 “GET /?stats HTTP/1.1″
  應(yīng)用舉例
  WEB 均衡負(fù)載 & 虛擬主機(jī)
  重新打開配置文件 haproxy.cfg,留意最下部分的均衡主機(jī)選項(xiàng)
  listen localhost 0.0.0.0:1080 #運(yùn)行的端口及主機(jī)名
  mode http
  option httpchk GET /index.htm #用于健康檢測的后端頁面
  server s1 127.0.0.1:3121 weight 3 check #后端的主機(jī) IP &權(quán)衡
  server s2 127.0.0.1:3122 weight 3 check #后端的主機(jī) IP &權(quán)衡
  在實(shí)驗(yàn)中,我們的的后端是 squid 分開了2個端口在同一臺服務(wù)器上。
  以其中一項(xiàng)為例:
  server s1 127.0.0.1:3121 weight 3 check
  s1 是可自己定義的服務(wù)器別名
  127.0.0.1:3121 服務(wù)器的IP地址以及端口號
  weight 3 所能分配到請求的高低權(quán)衡,數(shù)字越大分配到的請求數(shù)就越高
  check 接受 haproxy 的定時檢查,以確定后端服務(wù)器的健康情況。
  如需配置虛擬主機(jī),相當(dāng)簡單,緊需修改 localhost 為你虛擬主機(jī)的的域名,加到haproxy配置中, 再為其分配后端服務(wù)器的參數(shù)即可。
  例:
  listen www.x1.com 0.0.0.0:1080 #運(yùn)行的端口及主機(jī)名
  mode http
  option httpchk GET /index.htm #用于健康檢測的后端頁面
  server s1 127.0.0.1:3121 weight 3 check #后端的主機(jī) IP &權(quán)衡
  server s2 127.0.0.1:3122 weight 3 check #后端的主機(jī) IP &權(quán)衡
  listen www.x2.com 0.0.0.0:1080 #運(yùn)行的端口及主機(jī)名
  mode http
  option httpchk GET /index.htm #用于健康檢測的后端頁面
  server s1 127.0.0.1:3121 weight 3 check #后端的主機(jī) IP &權(quán)衡
  server s2 127.0.0.1:3122 weight 3 check #后端的主機(jī) IP &權(quán)衡
  保存配置后重新加載,即可生效,刷新管理頁面也可看到新的虛擬主機(jī)。
  性能對比
  在此,我們用最近最火紅的 http 兼前端WEB均衡負(fù)載服務(wù)器 Nginx 與 Haproxy 做個簡單的性能對比。
  測試環(huán)境:
  CPU:Xeon2.8G X2
  RAM:4G
  OS:RedHat As5.3 X64
  工具:apache ab
  參數(shù):ab -i -c 500 -n 100000 (500并發(fā),1W請求)
  最終服務(wù)端:2個squid 需實(shí)現(xiàn)均衡負(fù)載
  成績?nèi)缦拢?br />   ####### Nginx + haproxy : (由Nginx通過反向代理發(fā)送請求至haproxy, 并由其進(jìn)行均衡負(fù)載)
  Concurrency Level: 500
  Time taken for tests: 53.758 seconds
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
   聯(lián)系:億恩小凡
   QQ:89317007
   電話:0371-63322206
本文出自:億恩科技【www.allwellnessguide.com】

服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務(wù)熱線