haproxy配置文件参数

Posted super-sos

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy配置文件参数相关的知识,希望对你有一定的参考价值。

vim haproxy.cfg

全局配置

global
    log 127.0.0.1   local3  info    //日志服务器,可将IP改为远端
    maxconn 100000         //单个进程最大并发连接数
    daemon             //守护进程方式后台运行
    nbproc  4         //工作进程数量
   ulimit-n 65535    //ulimit的数量限制 chroot /usr/local/haproxy #stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin uid 99 gid 99 daemon cpu-map 1 0 cpu-map 2 1 cpu-map 3 2 cpu-map 4 3 pidfile /usr/local/haproxy/run/haproxy.pid

默认配置defaults

defaults
log global //记录日志,这里可以使用全局配置的日志配置 mode http //工作模式http layer7,{|http|health},tcp是4层,http是7层,health只会返回ok maxconn 100000 //最大连接数 option forwardfor //后端服务器得到的请求IP一般是haproxy的,为了得到客户端的IP,需要插入X-Forwardfor-For头处理,后端服务器则用X-Forwardfor-For方法来获得客户端IP contimeout 5000 //连接超时时间 clitimeout 50000 //客户端超时时间 srvtimeout 50000 //服务器超时时间
  timeout check 2000 //心跳检测超时
  option httplog     //日志类别http日志格式
  option httpclose //每次请求完毕后主动关闭http通道
  option dontlognull //不记录健康检查的日志信息
  option redispatch //serverId对应的服务器挂掉后,强制定向到其他健康的服务器
  option abortonclose //当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接
  stats refresh 30 //统计页面刷新间隔
  retries 3 //3次连接失败就认为服务不可用,也可以通过后面设置
  balance roundrobin //默认的负载均衡的方式,轮询方式
  #balance source //默认的负载均衡的方式,类似nginx的ip_hash
  #balance leastconn //默认的负载均衡的方式,最小连接

配置监听

listen  web     0.0.0.0:80       //表示监听所有的80请求
    mode    http         //工作模式
    balance roundrobin     //负载均衡的方式
    option  httpclose     //打开支持服务器端主动关闭连接的功能
    option  forwardfor        
          //apache需要在httpd.conf配置文件里“<IfModule logio_module>”下面添加《LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined》
          //nginx需要在nginx.conf配置文件里“http”下面添加(需要安装--with-http_realip_module模块)
              set_real_ip_from  10.96.141.0/24;
              real_ip_header    X-Forwarded-For;
              real_ip_recursive on;
              log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
                  ‘$status $body_bytes_sent "$http_referer" ‘
                  ‘"$http_user_agent" "$http_x_forwarded_for"‘;
          //IIS:需要安装高级日志(IIS7及以下),下载并加载F5XForwardedFor模块,定义IIS的日志格式,http://www.loadbalancer.org/blog/iis-and-x-forwarded-for-header
              无需安装高级日志(IIS8.5及以上),双击日志——>点击W3C后面的选择字段——>点击添加字段——>字段名称(x-forwarded-for)、源类型(请求标头)、源(X-FORWARDED-FOR)——>确定、确定——>右上角的应用,重启IIS服务即可
    option  httpchk HEAD /index.html HTTP/1.0    //健康检查
    cookie  SERVERID insert indirect nocache    //客户端的cookie信息
    server server1 192.168.122.100:80 cookie 1 check inter 2000 rise 2 fall 5
    server server2 192.168.122.200:80 cookie 2 check inter 2000 rise 2 fall 5
        cookie 1        //标识serverid为1
        check inter 2000    //检测心跳频率,单位毫秒
        rise 2            //连续2次成功表示服务器可用
        fall 5            //连续5次失败表示服务器不可用 

 

以上是关于haproxy配置文件参数的主要内容,如果未能解决你的问题,请参考以下文章

Linux高性能负载均衡HAProxy配置详解

Haproxy配置文件详解

HAproxy指南之haproxy配置详解(理论篇)

haproxy 配置文件说明

haproxy配置文件简单管理

Haproxy搭建Web群集概述