自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HAProxy配置語(yǔ)法及實(shí)例

系統(tǒng) Linux
HAProxy配置中分成五部分內(nèi)容,當(dāng)然這些組件不是必選的,可以根據(jù)需要選擇部分作為配置。本文主要是針對(duì)HAProxy的配置文件的語(yǔ)法介紹。

 HAProxy的配置

HAProxy配置中分成五部分內(nèi)容,當(dāng)然這些組件不是必選的,可以根據(jù)需要選擇部分作為配置。
global:參數(shù)是進(jìn)程級(jí)的,通常和操作系統(tǒng)(OS)相關(guān)。這些參數(shù)一般只設(shè)置一次,如果配置無(wú)誤,就不需要再次配置進(jìn)行修改
defaults:配置默認(rèn)參數(shù)的,這些參數(shù)可以被利用配置到frontend,backend,listen組件
frontend:接收請(qǐng)求的前端虛擬節(jié)點(diǎn),F(xiàn)rontend可以根據(jù)規(guī)則直接指定具體使用后端的 backend(可動(dòng)態(tài)選擇)。
backend:后端服務(wù)集群的配置,是真實(shí)的服務(wù)器,一個(gè)Backend對(duì)應(yīng)一個(gè)或者多個(gè)實(shí)體服務(wù)器。
listen:Frontend和Backend的組合體。

下面是HAProxy的一些常用的配置,這個(gè)配置是用來(lái)說(shuō)明HAProxy的一些常用功能的配置,具體詳細(xì)配置請(qǐng)查看安裝目錄下的doc目錄下的文檔文件,或者到http://cn.haproxy.org/下載中文配置說(shuō)明文檔

配置具體實(shí)例,后附說(shuō)明:

global

#全局的日志配置 其中日志級(jí)別是[err warning info debug]

#local0 是日志設(shè)備,必須為如下24種標(biāo)準(zhǔn)syslog設(shè)備的一種: 

#kern user mail daemon auth syslog lpr news 

#uucp cron auth2 ftp ntp audit alert cron2 

#local0 local1 local2 local3 local4 local5 local6 local7 

#但是之前在/etc/syslog.conf文件中定義的是local0所以

#這里也是用local0

log 127.0.0.1 local0 info #[err warning info debug]

#***連接數(shù)

maxconn 4096

#用戶

user admin

#組

group admin

#使HAProxy進(jìn)程進(jìn)入后臺(tái)運(yùn)行。這是推薦的運(yùn)行模式

daemon

#創(chuàng)建4個(gè)進(jìn)程進(jìn)入deamon模式運(yùn)行。此參數(shù)要求將運(yùn)行模式設(shè)置為"daemon"

nbproc 4

#將所有進(jìn)程的pid寫入文件 啟動(dòng)進(jìn)程的用戶必須有權(quán)限訪問(wèn)此文件。

pidfile /home/admin/haproxy/logs/haproxy.pid

defaults 

#默認(rèn)的模式mode { tcp|http|health },tcp是4層,http是7層,health只會(huì)返回OK

mode http

#采用http日志格式

option httplog

#三次連接失敗就認(rèn)為是服務(wù)器不可用,也可以通過(guò)后面設(shè)置

retries 3

如果cookie寫入了serverId而客戶端不會(huì)刷新cookie,

#當(dāng)serverId對(duì)應(yīng)的服務(wù)器掛掉后,強(qiáng)制定向到其他健康的服務(wù)器

option redispatch

#當(dāng)服務(wù)器負(fù)載很高的時(shí)候,自動(dòng)結(jié)束掉當(dāng)前隊(duì)列處理比較久的鏈接

option abortonclose

#默認(rèn)的***連接數(shù)

maxconn 4096

#連接超時(shí)

contimeout 5000

#客戶端超時(shí)

clitimeout 30000

#服務(wù)器超時(shí)

srvtimeout 30000

#=心跳檢測(cè)超時(shí)

timeout check 2000

#注:一些參數(shù)值為時(shí)間,比如說(shuō)timeout。時(shí)間值通常單位為毫秒(ms),但是也可以通過(guò)加#后綴,來(lái)使用其他的單位。

#- us : microseconds. 1 microsecond = 1/1000000 second

#- ms : milliseconds. 1 millisecond = 1/1000 second. This is the default.

#- s : seconds. 1s = 1000ms

#- m : minutes. 1m = 60s = 60000ms

#- h : hours. 1h = 60m = 3600s = 3600000ms

#- d : days. 1d = 24h = 1440m = 86400s = 86400000ms

#p#

########統(tǒng)計(jì)頁(yè)面配置############

listen admin_stats

#監(jiān)聽端口

bind 0.0.0.0:1080

#http的7層模式

mode http

#日志設(shè)置

log 127.0.0.1 local0 err #[err warning info debug]

#統(tǒng)計(jì)頁(yè)面自動(dòng)刷新時(shí)間

stats refresh 30s

#統(tǒng)計(jì)頁(yè)面url

stats uri /admin?stats

#統(tǒng)計(jì)頁(yè)面密碼框上提示文本

stats realm Gemini\ Haproxy

#統(tǒng)計(jì)頁(yè)面用戶名和密碼設(shè)置

stats auth admin:admin

stats auth admin1:admin1

#隱藏統(tǒng)計(jì)頁(yè)面上HAProxy的版本信息

stats hide-version

#######網(wǎng)站檢測(cè)listen定義############

listen site_status

bind 0.0.0.0:1081

mode http

log 127.0.0.1 local0 err #[err warning info debug]

#網(wǎng)站健康檢測(cè)URL,用來(lái)檢測(cè)HAProxy管理的網(wǎng)站是否可以用,正常返回200,不正常返回500

monitor-uri /site_status

#定義網(wǎng)站down時(shí)的策略

#當(dāng)掛在負(fù)載均衡上的指定backend的中有效機(jī)器數(shù)小于1臺(tái)時(shí)返回true

acl site_dead nbsrv(denali_server) lt 1

acl site_dead nbsrv(tm_server) lt 1 

acl site_dead nbsrv(mms_server) lt 1

#當(dāng)滿足策略的時(shí)候返回500

monitor fail if site_dead

#如果192.168.0.252或者192.168.0.31這兩天機(jī)器掛了

#認(rèn)為網(wǎng)站掛了,這時(shí)候返回500,判斷標(biāo)準(zhǔn)是如果mode是

#http返回200認(rèn)為是正常的,如果mode是tcp認(rèn)為端口暢通是好的

monitor-net 192.168.0.252/31

########frontend配置############

frontend http_80_in

#監(jiān)聽端口

bind 0.0.0.0:80

#http的7層模式

mode http

#應(yīng)用全局的日志配置

log global

#啟用http的log

option httplog

#每次請(qǐng)求完畢后主動(dòng)關(guān)閉http通道,HA-Proxy不支持keep-alive模式

option httpclose

#如果后端服務(wù)器需要獲得客戶端的真實(shí)IP需要配置次參數(shù),將可以從Http Header中

#獲得客戶端IP

option forwardfor

###########HAProxy的日志記錄內(nèi)容配置##########

capture request header Host len 40

capture request header Content-Length len 10

capture request header Referer len 200

capture response header Server len 40

capture response header Content-Length len 10

capture response header Cache-Control len 8

####################acl策略定義#########################

#如果請(qǐng)求的域名滿足正則表達(dá)式返回true -i是忽略大小寫

acl denali_policy hdr_reg(host) -i ^(www.gemini.taobao.net|my.gemini.taobao.net|auction1.gemini.taobao.net)$

#如果請(qǐng)求域名滿足trade.gemini.taobao.net 返回 true -i是忽略大小寫

acl tm_policy hdr_dom(host) -i trade.gemini.taobao.net

##在請(qǐng)求url中包含sip_apiname=,則此控制策略返回true,否則為false

acl invalid_req url_sub -i sip_apiname=

##在請(qǐng)求url中存在timetask作為部分地址路徑,則此控制策略返回true,否則返回false

acl timetask_req url_dir -i timetask

#當(dāng)請(qǐng)求的header中Content-length等于0時(shí)返回 true

acl missing_cl hdr_cnt(Content-length) eq 0

#p#

######################acl策略匹配相應(yīng)###################

##當(dāng)請(qǐng)求中header中Content-length等于0 阻止請(qǐng)求返回403

block if missing_cl

##block表示阻止請(qǐng)求,返回403錯(cuò)誤,當(dāng)前表示如果不滿足策略invalid_req,或者滿足策略timetask_req,則阻止請(qǐng)求。 

block if !invalid_req || timetask_req 

#當(dāng)滿足denali_policy的策略時(shí)使用denali_server的backend

use_backend denali_server if denali_policy

#當(dāng)滿足tm_policy的策略時(shí)使用tm_server的backend

use_backend tm_server if tm_policy

#reqisetbe關(guān)鍵字定義,根據(jù)定義的關(guān)鍵字選擇backend

reqisetbe ^Host:\ img dynamic

reqisetbe ^[^\ ]*\ /(img|css)/ dynamic

reqisetbe ^[^\ ]*\ /admin/stats stats

#以上都不滿足的時(shí)候使用默認(rèn)mms_server的backend

default_backend mms_server

#HAProxy錯(cuò)誤頁(yè)面設(shè)置

errorfile 400 /home/admin/haproxy/errorfiles/400.http

errorfile 403 /home/admin/haproxy/errorfiles/403.http

errorfile 408 /home/admin/haproxy/errorfiles/408.http

errorfile 500 /home/admin/haproxy/errorfiles/500.http

errorfile 502 /home/admin/haproxy/errorfiles/502.http

errorfile 503 /home/admin/haproxy/errorfiles/503.http

errorfile 504 /home/admin/haproxy/errorfiles/504.http

##########backend的設(shè)置##############

backend mms_server

#http的7層模式

mode http

#負(fù)載均衡的方式,roundrobin平均方式

balance roundrobin

#允許插入serverid到cookie中,serverid后面可以定義

cookie SERVERID

#心跳檢測(cè)的URL,HTTP/1.1¥r¥nHost:XXXX,指定了心跳檢測(cè)HTTP的版本,XXX為檢測(cè)時(shí)請(qǐng)求

#服務(wù)器的request中的域名是什么,這個(gè)在應(yīng)用的檢測(cè)URL對(duì)應(yīng)的功能有對(duì)域名依賴的話需要設(shè)置

option httpchk GET /member/login.jhtml HTTP/1.1\r\nHost:member1.gemini.taobao.net

#服務(wù)器定義,cookie 1表示serverid為1,check inter 1500 是檢測(cè)心跳頻率

#rise 3是3次正確認(rèn)為服務(wù)器可用,fall 3是3次失敗認(rèn)為服務(wù)器不可用,weight代表權(quán)重

server mms1 10.1.5.134:80 cookie 1 check inter 1500 rise 3 fall 3 weight 1

server mms2 10.1.6.118:80 cookie 2 check inter 1500 rise 3 fall 3 weight 2

backend denali_server

mode http

#負(fù)載均衡的方式,source根據(jù)客戶端IP進(jìn)行哈希的方式

balance source

#但設(shè)置了backup的時(shí)候,默認(rèn)***個(gè)backup會(huì)優(yōu)先,設(shè)置option allbackups后

#所有備份服務(wù)器權(quán)重一樣

option allbackups

#心跳檢測(cè)URL設(shè)置

option httpchk GET /mytaobao/home/my_taobao.jhtml HTTP/1.1\r\nHost:my.gemini.taobao.net

#可以根據(jù)機(jī)器的性能不同,不使用默認(rèn)的連接數(shù)配置而使用自己的特殊的連接數(shù)配置

#如minconn 10 maxconn 20

server denlai1 10.1.5.114:80 minconn 4 maxconn 12 check inter 1500 rise 3 fall 3

server denlai2 10.1.6.104:80 minconn 10 maxconn 20 check inter 1500 rise 3 fall 3

#備份機(jī)器配置,正常情況下備機(jī)不會(huì)使用,當(dāng)主機(jī)的全部服務(wù)器都down的時(shí)候備備機(jī)會(huì)啟用

server dnali-back1 10.1.7.114:80 check backup inter 1500 rise 3 fall 3

server dnali-back2 10.1.7.114:80 check backup inter 1500 rise 3 fall 3

backend tm_server

mode http

#負(fù)載均衡的方式,leastconn根據(jù)服務(wù)器當(dāng)前的請(qǐng)求數(shù),取當(dāng)前請(qǐng)求數(shù)最少的服務(wù)器

balance leastconn

option httpchk GET /trade/itemlist/prepayCard.htm HTTP/1.1\r\nHost:trade.gemini.taobao.ne

server tm1 10.1.5.115:80 check inter 1500 rise 3 fall 3

server tm2 10.1.6.105:80 check inter 1500 rise 3 fall 3

######reqisetbe自定義關(guān)鍵字匹配backend部分#######################

backend dynamic

mode http

balance source

option httpchk GET /welcome.html HTTP/1.1\r\nHost:www.taobao.net

server denlai1 10.3.5.114:80 check inter 1500 rise 3 fall 3

server denlai2 10.4.6.104:80 check inter 1500 rise 3 fall 3

backend stats

mode http

balance source

option httpchk GET /welcome.html HTTP/1.1\r\n Host:www.163.com

server denlai1 10.5.5.114:80 check inter 1500 rise 3 fall 3

server denlai2 10.6.6.104:80 check inter 1500 rise 3 fall 3

責(zé)任編輯:龐桂玉 來(lái)源: hi.baidu.com
相關(guān)推薦

2017-09-01 21:25:45

MySQL存儲(chǔ)過(guò)程

2011-03-17 09:27:07

HAProxy負(fù)載均衡

2009-04-08 10:35:00

靜態(tài)路由配置

2019-09-12 08:32:40

Linuxsed命令語(yǔ)法

2009-12-29 10:04:27

2011-08-18 10:21:50

SQL ServerDATEPART

2011-08-18 10:55:55

SQL ServerDATEADD

2012-05-07 10:17:48

2009-12-17 13:30:57

Linux以太網(wǎng)卡

2010-01-07 11:12:50

華為交換機(jī)vlan

2020-10-21 10:50:24

LVSNginxHAProxy

2018-12-19 10:05:15

LVSNginxHAProxy

2019-07-31 09:04:42

LVSNginxHAProxy

2013-08-27 09:47:09

QOS限速思科交換機(jī)

2010-09-15 17:18:28

HTML DOM di

2015-07-21 12:43:58

Dockerfile命令實(shí)例

2011-08-24 13:45:49

HAProxy負(fù)載均衡負(fù)載均衡器

2009-07-24 17:20:59

iBatis配置

2012-09-27 09:51:00

2011-04-02 16:37:26

PAT
點(diǎn)贊
收藏

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