zoukankan      html  css  js  c++  java
  • Haproxy 配置

    Haproxy 是一款开源的高性能的代理转发软件,用途最多的还是将它用着前端的负载均衡器,
    他可以提供第4层和第7层的负载,用的最多还是第7层(mode http),
    其工作性质类似nginx 做负载均衡器,但是haproxy 精妙的ACL NGINX略感乏力,
    不过nginx可以借助其他模块(lua)也可以达到类似的效果,haproxy和nginx都可以修改HTTP头,
    都可以做到seesion sticky,不过nginx需要额外的模块支持,关于性能方面,
    haproxy 官方说同等条件下lvs>haproxy>nginx 原因lvs的转发直接在内核空间完成,
    haproxy 和nginx 还需要使用用户空间的资源,而相对于nginx haproxy调用的资源比较少而已

    1.安装haproxy
    yum -y install haproxy
    2.修改配置文件(修改之前先备份)
    vim /etc/haproxy/haproxy.cfg

    #---------------------------------------------------------------------
    # Global settings
    #---------------------------------------------------------------------
    global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events. This is done
    # by adding the '-r' option to the SYSLOGD_OPTIONS in
    # /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    # file. A line like the following can be added to
    # /etc/sysconfig/syslog
    #
    # local2.* /var/log/haproxy.log
    #
    log 127.0.0.1 local2

    chroot /var/lib/haproxy
    pidfile /var/run/haproxy.pid
    maxconn 4000
    user haproxy
    group haproxy
    daemon

    stats socket /var/lib/haproxy/stats


    defaults
    mode http
    log global
    option httplog
    option dontlognull
    option http-server-close
    option forwardfor except 127.0.0.0/8
    option redispatch
    retries 3
    timeout http-request 10s
    timeout queue 1m
    timeout connect 10s
    timeout client 1m
    timeout server 1m
    timeout http-keep-alive 10s
    timeout check 10s
    maxconn 3000

    listen mysql
    bind *:8888
    mode tcp #在客户端和服务端之间创建全双工连
    balance roundrobin #负载均衡采用加权的roundrobin算法
    option tcpka
    server node01 127.0.0.1:3306 inter 1s rise 2 fall 1 check
    3.启动服务

    /etc/init.d/haproxy restart
    4.测试
    mysql -h 192.168.1.156 -uroot -p -P8888
    可以登录数据库说明配置成功
    备注:修改配置文件记得重启服务


    global段
    global段用于配置进程级的参数。官网文档基于参数的功能,将global配置参数分为3组:

    进程管理和安全
    性能调优
    调试
    具体内容可以参考文档详细介绍。

    defaults段
    defaults段主要是代理配置的默认配置段,设置默认参数,这些默认的配置可以在后面配置的其他段中使用。如果其他段中想修改默认的配置参数,只需要覆盖defaults段中的出现配置项内容。
    关于defaults段可以配置的参数,可以参考官网文档的详细介绍。

    frontend段
    frontend段主要配置前端监听的Socket相关的属性,也就是接收请求链接的虚拟节点。这里除了配置这些静态的属性,还可以根据一定的规则,将请求重定向到配置的backend上,backend可能配置的是一个服务器,也可能是一组服务器(集群)。

    backend段
    backend段主要是配置的实际服务器的信息,通过frontend配置的重定向请求,转发到backend配置的服务器上。

    listen段
    listen段是将frontend和backend这两段整合在一起,直接将请求从代理转发到实际的后端服务器上。

  • 相关阅读:
    如何让xcode自动检查内存泄露
    Property's synthesized getter follows Cocoa naming convention for returning
    Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'Info
    iPhone开发过程中调试多次Release问题 message sent to deallocated
    委托 详解
    UINavigationController 、UINavigationBar 、UINavigationItem 超清晰直观详解(扩展)
    代码书写规范(摸索、试行)
    简述 IOS中的LazyLoad思想
    UIImageView 详解
    20140413 科技脉搏-风平浪静,默默成长
  • 原文地址:https://www.cnblogs.com/xianyin/p/6495150.html
Copyright © 2011-2022 走看看