Haproxy

  • A+
所属分类:Linux

三.Haproxy

Haproxy是一个开源的高性能的反向代理或者说是负载均衡服务软件之一,它支持双机热备、虚拟主机、基于TCP和HTTP应用代理等功能。其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,Haproxy会自动的将该故障服务器摘除,当服务器的故障恢复后Haproxy还会自动将RS服务器。
1.安装(HA-1、HA-2配置一样)
yum install -y haproxy
2.修改配置文件
vim /etc/haproxy/haproxy.cfg
global
log 127.0.0.1 local2 ##日志定义级别
chroot /var/lib/haproxy ##工作目录
pidfile /var/run/haproxy.pid ##进程id,启动进程的用户必须有权限访问此文件
maxconn 4000 ##默认最大连接数,需考虑ulimit-n限制
user haproxy ##运行程序用户
group haproxy
daemon ##后台运行
##默认配置
defaults
mode http ##默认模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
log global ##采用全局定义的日志
option httplog ##日志类别http日志格式
option dontlognull ##不记录健康检查的日志信息
option redispatch ##serverId对应的服务器挂掉后,强制定向到其他健康的服务器,以后将不支持
retries 3 ##三次连接失败则服务器不用
timeout connect 10s ##连接超时
timeout client 1m ##客户端连接超时
timeout server 1m ##服务器端连接超时
timeout http-keep-alive 10s ##默认持久连接超时时间
timeout check 10s ##心跳检测
maxconn 3000 ##最大连接数
balance roundrobin #设置默认负载均衡方式,轮询方式
#balance source #设置默认负载均衡方式,类似于nginx的ip_hash
#balnace leastconn #设置默认负载均衡方式,最小连接数
listen stats
mode http
bind 0.0.0.0:8090 #监听端口
stats enable
stats refresh 30s #统计页面自动刷新时间
stats uri /stats #统计页面url
stats realm Haproxy Manager #统计页面密码框上提示文本
stats auth admin:admin #统计页面用户名和密码设置
#stats hide-version #隐藏统计页面上HAProxy的版本信息
frontend main
bind 0.0.0.0:3306
default_backend mysql
backend mysql
balance leastconn
server Mysql-Master 192.168.2.34:3306 check port 3306 maxconn 300
server Mysql-Slave 192.168.2.35:3306 check port 3306 maxconn 300

3.启动日志
vim /etc/rsyslog.conf
# Provides TCP syslog reception 去掉以下注释
$ModLoad imtcp
$InputTCPServerRun 514

# haproxy.log
local2.* /var/log/haproxy.log
vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-r -m 0"
重启日志服务
systemctl restart rsyslog
4.启动Haproxy

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: