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

    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
     
    HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
    HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。
    haproxy 日志开启
    默认haproxy是没有日志输出的需要手动开启日志。
    创建记录日志文件

    mkdir /var/log/haproxy && chmod a+w /var/log/haproxy

    开启rsyslog记录haproxy日志功能

    编辑“/etc/rsyslog.conf”打开如下配置项:

    $ModLoad imudp

    $UDPServerRun 514

    添加如下内容:

    # Save haproxy log

    local0.*                      /var/log/haproxy/haproxy.log

    3. 修改“/etc/sysconfig/rsyslog”文件,内容如下

    SYSLOGD_OPTIONS="-r -m 0 -c 2"

    4. 配置haproxy

    编辑haproxy配置文件,进行如下内容修改

    log 127.0.0.1 local0 info

    5. 验证是否生效

    ###重启服务并查看日志

    systemctl restart haproxy

    systemctl restart rsyslog

    tailf /var/log/haproxy/haproxy.log

    haproxy 配置文件

    #全局配置
    global
            #日志级别
            log 127.0.0.1  local3 info

            chroot /var/lib/haproxy
            #运行用户
            user haproxy
            #运行用户组
            group haproxy
            #守护进程运行方式
            daemo
            #最大连接数
            maxconn 8192
    #默认配置
    defaults
            #设置log使用全局log
            log global
            #工作模式
            mode http
            #记载http日志
            option  httplog
            #不记录空日志
            option  dontlognull
            #连接超时时间ms为单位
            timeout connect         5000
            #客户端连接超时时间
            timeout client          50000
            #服务端连接超时时间
            timeout server          50000
    #前端代理
            #运行用户组
            group haproxy
            #守护进程运行方式
            daemon
            #最大连接数
            maxconn 8192
    #默认配置
    defaults
            #设置log使用全局log
            log global
            #工作模式
            mode http
            #记载http日志
            option  httplog
            #不记录空日志
            option  dontlognull
            #连接超时时间ms为单位
            timeout connect         5000
            #客户端连接超时时间
            timeout client          50000
            #服务端连接超时时间
            timeout server          50000
    #前端代理
    frontend www_hellozz_com
            #绑定主机和端口
            bind *:80
            #uri状态
            stats uri /haproxy?stats
            #转发到对应的后端主机组
            default_backend backend_www_hellozz_com
    #后端代理
    backend backend_www_hellozz_com
            #自定义头部信息获取客户端真实IP
            option forwardfor header X-REAL-IP
            #自定义option健康检查 可不写 默认检查端口
            option httpchk GET /index.html
            #负载均衡方式 roundrobin 轮询,source like iphash,cookie,SERVERID
            #source 根据请求源IP
            #static-rr 根据权重
            #leastconn 最少连接者先处理
            #uri 根据请求的uri
            #url_param 根据请求的url参数
            #rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
            #hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
            #roundrobin 轮询方式
            balance roundrobin
            #真实Server   check 支持url健康检测 inter 时间间隔默认为毫秒,rise 检查次数, fall 失败次数 weight 权重
            server node1 10.10.100.151:80 check inter 2000 rise 3  fall 3 weight 1
            server node2 10.10.100.152:80 check inter 2000 rise 3  fall 3 weight 1




    作者:间歇性-精神病 出处:https://www.cnblogs.com/Intermittent-psychosis/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文连接 Github:https://github.com/don15278/python.git
  • 相关阅读:
    Mybatis分页插件PageHelper使用
    JAVA面试笔记
    基于Fusioncharts的报表统计
    微信支付开发流程
    Java 使用 Jxl 实现 Excel 导入导出
    从navicat中导入sql文件过大:Got a packet bigger than 'max_allowed_packet' bytes
    一个故事告诉你比特币的原理及运作机制
    Linux和Windows下tomcat开机自启动设置
    Linux下安装MySQL
    ubuntu 13.10使用fcitx输入法
  • 原文地址:https://www.cnblogs.com/Intermittent-psychosis/p/10578767.html
Copyright © 2011-2022 走看看