Haproxy的安装、配置

有运维或运维开发方面的需求,可以联系博主QQ 452336092或Email:admin#centos.bz(收费)

文章目录
[隐藏]

Haproxy的介绍、安装、配置

1、Haproxy简介

Haproxy是一个开源的,高性能的基于HTTP和TCP应用代理的高可用,负载均衡服务软件。它支持双机热备,高可用,负载均衡。有图形界面。
而且拥有很好的对服务器节点的健康检查功能。

单台的haproxy可以满足每天1-3千万的PV。

haproxy为代理,用户的请求和后端的服务器的回应都需要经过haproxy服务器。

2、Haproxy的常用算法

balance leastconn   最少连接数
balance roundrobin   轮循
balance static-rr  权重
balance source   相当于nginx的ip_hash

3、Haproxy的安装

centos6.6默认的源yum安装proxy的版本为1.5.4

yum 安装haproxy

yum install -y haproxy

打开内核转发

vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

让上面配置的/etc/sysctl.conf文件生效

sysctl -p

4、Haproxy配置文件详解

Haproxy配置文件可以分为五部分:

global : 全局配置参数段,主要用来控制haproxy启动前的进程及系统相关设置。

defaults : 配置一些默认参数,如frontend,backend,listen等段末没有设置则使用default段来设置。

listen : 监听

frontend : 用来匹配接收客户所请求的域名,URL等,并针对不同的匹配,做不同的请求处理。

backend : 定义后端服务器集群,以及对后端服务器的一些权重,队列,连接数等的设置

下面为正式环境下的haproxy.cfg配置文件

cat >> /etc/haproxy/haproxy.cfg <<EOF
global
log 127.0.0.1:514 local0 error #一定不能用info,这样会造成很大的磁盘IO
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 20000 #最大连接数
user haproxy
group haproxy
spread-checks 3
nbproc 2
daemon

defaults
mode http
log global
retries 3
option redispatch
#contimeout 5000
#clitimeout 50000
#srvtimeout 50000

listen alex
bind 192.168.0.29:80 #绑定的IP地址。相当于后面real server的VIP
mode http #HTTP模式,也可以作为TCP的反向代理
stats hide-version
stats enable #开启WEB查看proxy的状态
stats uri /admin?stats #查看PROXY状态的URI
stats auth proxy:kobe24 #查看PROXY状态时登录录要用到的用户名和密码
option httpclose
option forwardfor #让后端的real server 的日志可以记录到CLIENT的IP
cookie SERVERID insert indirect
timeout server 15s
timeout connect 15s
timeout client 20s
#option httpchk HEAD /check.html HTTP/1.0
server www01 192.168.0.100:80 cookie A check port 80 inter 5000 fall 5
server www02 192.168.0.101:80 cookie B check port 80 inter 5000 fall 5
EOF

原文出处:yechuan -> https://www.yechuan.org/archives/361

打赏

如果此文对你有所帮助,请随意打赏鼓励作者^_^