haproxy和keepalived文件介绍

haproxy介绍
#--------------------------------------------------------------------- # Global settings #--------------------------------------------------------------------- global # 全局的日志配置,使用log关键字,指定使用127.0.0.1上的syslog服务中的local0日志设备,记录日志等级为info的日志 log 127.0.0.1 local3 # 软件工作目录 chroot /var/lib/haproxy # haproxy的pid存放路径,启动进程的用户必须有权限访问此文件 pidfile /usr/local/haproxy/haproxy.pid # 最大连接数,默认4000 maxconn 30000 # 所属用户 user haproxy # 所属组 group haproxy # 以守护进程方式运行haproxy daemon # turn on stats unix socket # stats socket /var/lib/haproxy/stats # socket路径 #--------------------------------------------------------------------- # common defaults that all the 'listen' and 'backend' sections will # use if not designated in their block #--------------------------------------------------------------------- defaults mode http # 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK log global # 采用全局定义的日志 option httplog # 启用日志记录HTTP请求,默认haproxy日志记录是不记录HTTP请求日志 option dontlognull # 不记录健康检查的日志信息 option http-server-close # 每次请求完毕后主动关闭http通道 # 如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip option forwardfor except 127.0.0.0/8 option redispatch # serverId对应的服务器挂掉后,强制定向到其他健康的服务器 retries 3 # 3次连接失败就认为服务不可用,也可以通过后面设置 timeout http-request 10s # http请求超时时间 timeout queue 1m # 一个请求在队列里的超时时间 timeout connect 10s # 连接超时 timeout client 1m # 客户端连接超时 timeout server 1m # 服务器连接超时 timeout http-keep-alive 10s # 设置http-keep-alive的超时时间 timeout check 10s # 检测超时 maxconn 3000 # 最大连接数 #--------------------------------------------------------------------- # main frontend which proxys to the backends #--------------------------------------------------------------------- # 前端配置 frontend main *:80 acl url_static path_beg -i /static /images /javascript /stylesheets acl url_static path_end -i .jpg .gif .png .css .js use_backend static if url_static default_backend servers #--------------------------------------------------------------------- # static backend for serving up images, stylesheets and such #--------------------------------------------------------------------- # 后台静态文件服务配置 backend static balance roundrobin server static1 192.168.6.100:10001 check inter 2000 fall 3 weight 50 server static2 192.168.6.110:10001 check inter 2000 fall 3 weight 50 #--------------------------------------------------------------------- # round robin balancing between the various backends #--------------------------------------------------------------------- # 后台服务配置 backend servers balance roundrobin # 添加cookie配置,将某客户端引导到之前为其服务过的后端服务器上,即和后端某服务器保持联系,防止登录验证失效 cookie app_cook insert nocache server app1 192.168.6.100:10001 check inter 2000 fall 3 weight 50 cookie server1 server app2 192.168.6.110:10001 check inter 2000 fall 3 weight 50 cookie server2 # HAProxy状态监控服务配置 listen stats # 绑定端口 bind *:8080 mode http # stats enable # 访问地址:192.168.6.100:8080/web 和 192.168.6.110:8080/web stats uri /web stats realm Global\ statistics # 管理员账户 stats auth hapadmin:1qazse$#2
global 
        daemon 
        nbproc 1 
        pidfile /var/run/haproxy.pid

defaults 
        mode tcp          #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK 
        retries 3          #两次连接失败就认为是服务器不可用,也可以通过后面设置 
        option redispatch      #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器 
        option abortonclose     #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接 
        maxconn 4096        #默认的最大连接数 timeout connect 5000ms #连接超时 timeout client 30000ms #客户端超时 timeout server 30000ms #服务器超时 timeout check 2000 #=心跳检测超时 log global listen mysql_cluster bind 10.10.91.71:3306 mode tcp maxconn 4086 server node2 10.10.91.72:3306 server node3 10.10.91.75:3306
 

keepalived介绍

# Master的配置内容:
! Configuration File for keepalived
global_defs {
  notification_email {
      [email protected]    # 收邮件人,可以定义多个
  }
  notification_email_from [email protected]    # 发件人,可伪装
  smtp_server 127.0.0.1    # 发送邮件的服务器地址
  smtp_connect_timeout 30    # 连接超时时间
  no_email_faults
  router_id WebMaster
  vrrp_skip_check_adv_addr
  vrrp_strict
  vrrp_garp_interval 0
  vrrp_gna_interval 0
}
vrrp_script chk_haproxy { # HAProxy服务监测脚本
  script '/etc/keepalived/check_haproxy.sh'
  interval 2
  weight 2
}
vrrp_instance VI_1 {    # 每一个vrrp_instance就是定义一个虚拟路由器
  state MASTER    # 由初始状态状态转换为master状态
  interface 网卡名称    # 网卡名称,如eth0,根据自己的情况修改
  virtual_router_id 100    # 虚拟路由的id号,一般不能大于255的
  priority 100    # 优先级,数字越大,优先级越高,主比次大
  advert_int 1    # 初始化通告
  authentication {    # 认证机制
      auth_type PASS
      auth_pass 666    # 密码,自行更改,主备一致即可
  }    
  track_script {
      chk_haproxy
  }
  virtual_ipaddress {    # Web服务的虚拟ip地址:vip,前面提到的备用的虚拟IP。
      #<IPADDR>/<MASK> brd <IPADDR> dev <STRING> scope <SCOPT> label <LABEL>
      #192.168.200.18/24 dev eth2 label eth2:1
      192.168.6.111
  }
    notify_master '/etc/keepalived/clean_arp.sh 192.168.6.111'
}

猜你喜欢

转载自www.cnblogs.com/itzhao/p/11486040.html