2013-05-07 13:11:12



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

下面是HAProxy的一些常用的配置,这个配置是用来说明HAProxy的一些常用功能的配置,具体详细配置请查看安装目录下的doc目录下的文档文件,或者到” http://cn.haproxy.org/
下载中文配置说明文档

配置文件例子:
global
    #全局的日志配置 其中日志级别是[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
#但是之前在/etc/syslog.conf文件中定义的是local0所以
    #这里也是用local0
    log 127.0.0.1 local0 info #[err warning info debug]
    #最大连接数
    maxconn 4096
#用户
    user admin
    #组
    group admin
    #使HAProxy进程进入后台运行。这是推荐的运行模式
    daemon
    #创建4个进程进入deamon模式运行。此参数要求将运行模式设置为"daemon"
    nbproc 4
    #将所有进程的pid写入文件<pidfile>启动进程的用户必须有权限访问此文件。
    pidfile /home/admin/haproxy/logs/haproxy.pid

defaults               
    #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
    mode http
    #采用http日志格式
    option httplog
    #三次连接失败就认为是服务器不可用,也可以通过后面设置
    retries 3
    #如果cookie写入了serverId而客户端不会刷新cookie,
    #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
    option redispatch
    #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
    option abortonclose
    #默认的最大连接数
    maxconn 4096
    #连接超时
    contimeout 5000
    #客户端超时
    clitimeout 30000
    #服务器超时
    srvtimeout 30000
    #=心跳检测超时
    timeout check 2000
  
#注:一些参数值为时间,比如说timeout。时间值通常单位为毫秒(ms),但是也可以通过加#后缀,来使用其他的单位。
#- 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

########统计页面配置############
listen admin_stats
    #监听端口
    bind 0.0.0.0:1080
    #http的7层模式
    mode http
    #日志设置
    log 127.0.0.1 local0 err #[err warning info debug]
    #统计页面自动刷新时间
    stats refresh 30s
    #统计页面url
    stats uri /admin?stats
    #统计页面密码框上提示文本
    stats realm  Gemini\ Haproxy
    #统计页面用户名和密码设置
    stats auth admin:admin
    stats auth admin1:admin1
    #隐藏统计页面上HAProxy的版本信息
    stats hide-version

#######网站检测listen定义############
listen site_status