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




posted @ 2019-03-22 15:47  干干干  阅读(442)  评论(0编辑  收藏  举报