抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

HAProxy基础说明

HAproxy是一款代理服务器并且能够支持高可用和负载均衡的开源软件,它适用于负载均衡较大的web服务站。

HAProxy的模型

使用事件驱动模型、单一进程模型;因此CPU不会变为影响HAProxy的瓶颈。

HAProxy的特性

支持客户端的长连接
支持TCP加速
支持RDP系欸呀
有更好的健康检测机制
支持HTTP认证

HAProxy的安装

直接通过yum的方式进行安装。
    yum -y install haproxy
也可以通过下载好安装包后上传至服务器创建本地yum源的方式进行安装

配置文件详解

global(全局通用的配置参数)
    log(定义日志转储的服务器);log 192.x.x.x name
    stats(设置API连接时的超时时长)
    module-path (定义加载模块的路径)
    maxconn      (前端最大连接数)
    uid     以指定的UID运行haproxy
    gid     以指定的GID运行haproxy
    nbproc   用来指定启动的haproxy进程的个数,只能用于守护集成模式的haproxy;默认只启动一个进程
    decription  当前实例的描述信息
    ulimit-n    设置每个进程能够打开的最大文件描述符数目,默认情况下自动进行计算
defaults(用来提供给所有其他配置段中的默认参数值)
listen(通过关联前端和后端来定义完整的代理,即frontend和backend的组合体)
    例:
        listen custom_status
            bind(只能用于frontend和listen中,用于定义监听的套接字)
            mode()
            log
            stats refresh 5s
            stats uri /admin?stats
            stats hide-version
frontend(用来提供给前端服务器用来请求的套接字)
backend(用来定义后端服务器,通过haproxy将其转发至定义好的后端服务器)
cache(用来定义缓存后端服务器的响应)
    total-max-size(定义缓存空间的总大小)
    max-object-size(定义单个项目的最大字节大小)
    只能在backend当中使用
    例:
        cache fcache
            total-max-size 4095
            max-object-size 10000
        backend servers
            http-request cache-use fcache
            http-response cache-use fcache
            server s1 192.x.x.x check
            server s2 192.x.x.x check
http-errors(定义当客户端请求出现错误时返回的结果页面)
    例:
        http-errors custom_page
            errorfile 403 /PATH/403.http
            errorfile 500 /PATH/500.http
        frontend web-server
            bind :80
            default_backend servers
            http-request req.hdr(host)
            errorfiles custom_page
            http-reponse return status 404 erroffiles
userlist(定义用户认证列表--http认证)
    例:
        单用户定义:
            frontend
                bind :80
                http-request auth unless { http_auth(auth_login) }
            userlist auth_login
                user tom insecure-passwd 123456
                user jack insecure-passwd 123
        用户组定义:
            frontend
                    bind :80
                    http-request auth unless { http_auth_group(auth_logins) }
            userlist auth_logins
                group admins users tom,jack
                group deops users pk
                user tom password .....
                user pk password .....

评论