Haproxy配置参数

HAProxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择部分作为配置。

=====================

global      参数是进程级的,通常和操作系统(OS)相关.这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改
defaults   配置默认参数的,这些参数可以被利用配置到frontend,backend,listen组件
frontend     接收请求的前端虚拟节点,Frontend可以根据规则直接指定具体使用后端的 backend(可动态选择)。
backend     后端服务集群的配置,是真实的服务器,一个Backend对应一个或者多个实体服务器。
listen         Frontend和Backend的组合体。

======================
global
log 137.0.0.1 local0 notice
#全局的日志配置 其中日志级别是[err warning info debug].local0 是日志设备,必须为如下24种标准syslog设备的一种:
#kern user mail daemon auth syslog lpr news
#uucp cron auth2 ftp ntp audit alert cron2
#local0 local1 local2 local3 local4 local5 local6 local7
maxconn 65535 #最大连接数
user haproxy #haproxy运行的用户和组
group haproxy
#nbproc 8 #创建4个进程进入deamon模式运行。此参数要求将运行模式设置为"daemon"
daemon #使HAProxy进程进入后台运行。这是推荐的运行模式
spread-checks 5

defaults
log global
mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
option httplog clf #采用http日志格式
option dontlognull
option dontlog-normal
stats uri /admin/status #监控haproxy状态的页面,可以使用http://IP/admin/status查看
stats auth focus:@focus123 #登录监控页面的用户名密码
stats refresh 60s #监控页面的刷新时间
#option nolinger
option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置
option http-server-close
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
option allbackups
option forwardfor
maxconn 65535 #默认的最大连接数
timeout connect 20s #连接超时
timeout client 120s #客户端超时
timeout server 120s #服务器超时
timeout queue 5m
timeout http-keep-alive 75s
timeout http-request 30m

frontend web_in
mode http #http的七层模式
maxconn 65535
bind :8080 #监听端口为8080

acl is_down hdr_beg(host) -i down.focus.cn #如果请求的域名满足down.focus.cn返回true -i是忽略大小写
acl is_pms hdr_beg(host) -i pms.focus.cn
acl is_image hdr_beg(host) -i image.focus.cn

acl is_css path_beg /css #如果请求的路径名满足/css返回true
acl is_js path_beg /js #如果请求的路径名满足/js返回true

#acl is_dynamic path_end .html #判断文件后缀名是不是.html,如果是返回true
#acl ref hdr(Referer) -i www.focus.cn #判断http-referer是不是www.baidu.com,如果是返回true

use_backend image_nginx if is_image is_css or is_js #当满足is_image,并且满足is_css或者满足is_js的策略时,使用image_nginx的backend
use_backend down_nginx if is_down #当满足is_down的策略时,使用down_nginx的backend
use_backend pms_nginx if is_pms #当满足is_pms的策略时,使用pms_nginx的backend
#use_backend bbs_nginx if is_bbs is_dynamic !is_admin#当满足is_bbs,is_dynamic并且不满足is_admin时,使用bbs_nginxdbackend
default_backend all_nginx #以上都不满足时,使用默认的all_nginx的backend

errorfile 400 /etc/haproxy/errors/400.http #定义haproxy的错误页面
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http

backend down_nginx
mode http #http的七层模式
fullconn 4096 #设置最大连接
option httpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
#服务器的request中的域名是什么,这个在应用的检测URL对应的功能有对域名依赖的话需要设置

balance roundrobin #负载均衡的方式,roundrobin平均方式
#balance source #负载均衡的方式,source根据客户端IP进行哈希的方式
#option allbackups #在设置了backup的时候,默认第一个backup会优先,设置option allbackups后,所有备份服务器权重一样
#cookie SERVERID insert nocache indirect #允许插入serverid到cookie中,serverid后面可以定义
server Server141 192.168.242.141:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100 #定义Real服务器名/ip/启用健康检查/最小连接数/最大连接数/至全速缓冲时间/weight
server Server142 192.168.242.142:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
#server Server154D 192.168.242.154:80 check cookie ServerD inter 10s maxconn 256 slowstart 10s weight 64
#cookie ServerD 表示SERVERID为ServerD;check inter 2s 是检测心跳频率

backend image_nginx
mode http
fullconn 1024
option httpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
balance roundrobin
server Server170 192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100

backend pms_nginx
mode http
fullconn 1024
option httpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
balance roundrobin
server Server170 192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100

backend all_nginx
mode http
fullconn 3072
option httpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
balance roundrobin
server Server170 192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
server Server141 192.168.242.141:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
server Server142 192.168.242.142:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100

上一篇:HDU3336 Count the string(kmp


下一篇:配置IPv6地址