HAProxy的基础配置

HAProxy的基础配置

HAProxy组成
• 程序环境:
    主程序:/usr/sbin/haproxy
    配置文件:/etc/haproxy/haproxy.cfg
    Unit file:/usr/lib/systemd/system/haproxy.service
• 配置段:
    • global:全局配置段
        进程及安全配置相关的参数
        性能调整相关参数
        Debug参数
    • proxies:代理配置段
        defaults:为frontend, backend, listen提供默认配置
        frontend:前端,相当于nginx中的server {}
        backend:后端,相当于nginx中的upstream {}
        listen:同时拥有前端和后端配置
Haproxy 配置-global

global配置选项

• chroot #锁定运行目录
• deamon #以守护进程运行
• #stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin #socket文件
• user, group, uid, gid #运行haproxy的用户身份
• nbproc #开启的haproxy进程数,与CPU保持一致
• nbthread #指定每个haproxy进程开启的线程数,默认为每个进程一个线程
• cpu-map 1 0 #绑定haproxy 进程至指定CPU
• maxconn #每个haproxy进程的最大并发连接数
• maxsslconn #SSL每个haproxy进程ssl最大连接数
• maxconnrate #每个进程每秒最大连接数
• spread-checks #后端server状态check随机提前或延迟百分比时间,建议2-5(20%-50%)之间
• pidfile #指定pid文件路径
• log 127.0.0.1 local3 info #定义全局的syslog服务器;最多可以定义两个
HAProxy Proxies配置
• defaults [<name>] #默认配置项,针对以下的frontend、backend和lsiten生效,可以多个name
• frontend <name> #前端servername,类似于Nginx的一个虚拟主机 server。 
• backend <name> #后端服务器组,等于nginx的upstream
• listen <name> #将frontend和backend合并在一起配置
• 注:name字段只能使用”-”、”_”、”.”、和”:”,并且严格区分大小写,例如:Web和web是完全不同的两组服务器。
Proxies配置- defaults
• defaults 配置参数:
• option redispatch #当server Id对应的服务器挂掉后,强制定向到其他健康的服务器
• option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
• option http-keep-alive 60#开启会话保持
• option forwardfor #开启IP透传
• mode http #默认工作类型
• timeout connect 60s #转发客户端请求到后端server的最长连接时间(TCP之前) 
• timeout server 600s #转发客户端请求到后端服务端的超时超时时长(TCP之后)
• timeout client 600s #与客户端的最长空闲时间
• timeout http-keep-alive 120s #session 会话保持超时时间,范围内会转发到相同的后端服务器
• #timeout check 5s #对后端服务器的检测超时时间
Proxies配置- frontend配置参数
• bind:指定HAProxy的监听地址,可以是IPV4或IPV6,可以同时监听多个IP或端口,可同时用于listen字段中
    • bind [<address>]:<port_range> [, ...] [param*]
    • mode http/tcp #指定负载协议类型
    • use_backend backend_name #调用的后端服务器组名称
• 示例:
• frontend WEB_PORT
    • bind :80,:8080
    • bind 192.168.7.102:10080,192.168.7.102:10043
    • use_backend backend_name
Proxies配置- backend配置参数
• mode http/tcp #指定负载协议类型
• option #配置选项
• server #定义后端real server
• 注意:option后面加httpchk,smtpchk, mysql-check, pgsql-check,ssl-hello-chk方法,可用于实现更多应用层检测功能。
后端服务器状态监测及相关配置
• check #对指定real进行健康状态检查,默认不开启
• addr IP #可指定的健康状态监测IP
• port num #指定的健康状态监测端口
• inter num #健康状态检查间隔时间,默认2000 ms
• fall num #后端服务器失效检查次数,默认为3 
• rise num #后端服务器从下线恢复检查次数,默认为2 
• weight #默认为1,最大值为256,0表示不参与负载均衡
• backup #将后端服务器标记为备份状态
• disabled #将后端服务器标记为不可用状态
• redirect prefix http://www.magedu.com/ #将请求临时重定向至其它URL,只适用于http模式
• maxconn <maxconn>:当前后端server的最大并发连接数
• backlog <backlog>:当server的连接数达到上限后的后援队列长度
frontend/ backend 配置案例
• #官网业务访问入口======================================
• frontend WEB_PORT_80
• bind 192.168.7.248:80
• mode http
• use_backend web_prot_http_nodes
• backend web_prot_http_nodes
• mode http
• option forwardfor
• server 192.168.7.101 192.168.7.101:8080 check inter 3000 fall 3 rise 5
• server 192.168.7.102 192.168.7.102:8080 check inter 3000 fall 3 rise 5
Proxies配置- listen
• 使用listen替换frontend和backend的配置方式:
• #官网业务访问入口=====================================
• listen WEB_PORT_80
• bind 192.168.7.102:80
• mode http
• option forwardfor
• server web1 192.168.7.101:8080 check inter 3000 fall 3 rise 5
• server web2 192.168.7.101:8080 check inter 3000 fall 3 rise 5
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值