本文摘自PHP中文网,作者坏嘻嘻,侵删。
本篇文章给大家带来的内容是关于如何使用haproxy负载均衡mysql ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。系统是一主多从的模式,读写分离是在应用程序的层面实现的,insert、delete、update、alter走主库,select给从库。然后给从库做了load balancing,用keepalived组合haproxy。
话不多说,直接开干。
系统环境 :centos7
话说回来,不知何时起haproxy的社区官网被墙了...唉唉唉,可以通过这个地址下载最新稳定版本的haproxy 。
1
# wget https:
//www.haproxy.org/download/1.8/src/haproxy-1.8.9.tar.gz
建议朋友们在安装之前读一读自述文件
1
# cat /usr/src/haproxy-1.8.9/README
安装haproxy,这里前缀关键字PREFIX指定安装目录,用的是大写字母。一般常规源码安装,是在configure指令后加选项"--prefix",要加以区分
1
2
3
4
# tar -zxf haproxy-1.8.9.tar.gz -C /usr/src/
# cd /usr/src/haproxy-1.8.9/
# make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 PREFIX=/usr/local/haproxy
# make install PREFIX=/usr/local/haproxy
创建haproxy程序用户以及配置文件目录
1
2
# useradd -M -s /sbin/nologin haproxy
#
mkdir
/etc/haproxy
haproxy配置文件在这个版本的包里没有提供样例,需要手动建立的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# touch /etc/haproxy/haproxy.cfg
# more /etc/haproxy/haproxy.cfg
#
global
log /dev/log local0 info log /dev/log
local1 notice pidfile
/
var
/run/haproxy.pid maxconn 400000
user haproxy group
haproxy nbproc 1 daemon
#defaults mode http log
global
option http-server-close option
redispatch retries
0 timeout http-request
10s timeout queue
1m timeout connect
10s timeout client
1m timeout server
1m timeout http-keep-alive 300s
timeout check 10s maxconn
100000
listen mysql_select bind *:3306 mode tcp balance roundrobin
#balance source #option mysql-check user haproxy timeout server 15s
timeout connect 15s server mysql162 192.168.5.162:3306 check port 3306 inter 5000 fall 5
server mysql163 192.168.5.163:3306 check port 3306 inter 5000 fall 5
server mysql164 192.168.5.164:3306 check port 3306 inter 5000 fall 5
listen stats mode http bind 0.0.0.0:7979 stats enable stats hide-version stats uri /haproxy?hello stats realm Haproxy\ Statistics stats auth qkc:pwd@123 stats admin
if
TRUE
haproxy的日志默认是输出到系统的syslog中,查看起来不是非常方便,为了更好地管理haproxy
相关阅读 >>
更多相关阅读请进入《Linux》频道 >>