devil20 发表于 2015-9-4 13:44:47

Haproxy配置参数

  HAProxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择部分作为配置。
  =====================
  global      参数是进程级的,通常和操作系统(OS)相关.这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改
defaults   配置默认参数的,这些参数可以被利用配置到frontend,backend,listen组件
frontend   接收请求的前端虚拟节点,Frontend可以根据规则直接指定具体使用后端的 backend(可动态选择)。
backend   后端服务集群的配置,是真实的服务器,一个Backend对应一个或者多个实体服务器。
listen         Frontend和Backend的组合体。
  ======================
global
   log 137.0.0.1 local0 notice
   #全局的日志配置 其中日志级别是.local0 是日志设备,必须为如下24种标准syslog设备的一种:
   #kern   user   mail   daemon auth   syslog lpr    news   
   #uucp   cron   auth2ftp    ntp    auditalertcron2   
   #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
   optionhttplog clf#采用http日志格式
   optiondontlognull
   optiondontlog-normal
   stats   uri /admin/status   #监控haproxy状态的页面,可以使用http://IP/admin/status查看
   stats   auth focus:@focus123#登录监控页面的用户名密码
   stats   refresh 60s         #监控页面的刷新时间
   #option nolinger
   optionredispatch   #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
   retries 2            #两次连接失败就认为是服务器不可用,也可以通过后面设置
   optionhttp-server-close
   optionabortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
   optionallbackups
   optionforwardfor
   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      #设置最大连接
   optionhttpchk 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后,所有备份服务器权重一样
   #cookieSERVERID       insert nocache indirect#允许插入serverid到cookie中,serverid后面可以定义
   serverServer141       192.168.242.141:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100    #定义Real服务器名/ip/启用健康检查/最小连接数/最大连接数/至全速缓冲时间/weight
   serverServer142       192.168.242.142:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
   #serverServer154D   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
   optionhttpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
   balance roundrobin
   serverServer170       192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
  backend pms_nginx
   mode    http
   fullconn 1024
   optionhttpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
   balance roundrobin
   serverServer170       192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
  backend all_nginx
   mode    http
   fullconn 3072
   optionhttpchk HEAD /noc.gif HTTP/1.1\r\nHost:image.focus.cn
   balance roundrobin
   serverServer170       192.168.242.170:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
   serverServer141       192.168.242.141:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
   serverServer142       192.168.242.142:80 check inter 2s minconn 64 maxconn 1024 slowstart 10s weight 100
页: [1]
查看完整版本: Haproxy配置参数