mysql proxy负载均衡_十八、01-运用haproxy实现nginx、mysql服务负载均衡

一、运用haproxy实现nginx、mysql服务负载均衡

1、环境配置

主机名

用途

ip

需要搭建的服务

类型

备注

node01

负载均衡前端

192.168.85.128

haproxy

centos7

node02

负载均衡后端

192.168.85.129

nginx、mysql

centos7

node03

负载均衡后端

192.168.85.130

nginx、mysql

centos7

2、在node01上面安装haproxy服务。并进行配置,启动haproxy

[root@node01 ~]# yum install -y haproxy

[root@node01 ~]# cd /etc/haproxy/

[root@node01 ~]# cp haproxy.cfg{,.bak}

[root@node01 ~]# vim haproxy.cfg (先在配置文件中定义一个状态页)

listen stats

bind *:9099

acl allowstats src 192.168.85.1

acl all src 0.0.0.0/0.0.0.0

http-request allow if allowstats

http-request deny if all

stats enable

stats uri /myproxy?admin

stats realm "HAProxy Stats Page"

stats auth admin:admin

stats admin if TRUE

[root@node01 ~]# sysatemctl start haproxy

[root@node01 ~]# ss -tnl

3、配置后端(安装nginx、mysql)

[root@node02 ~]# yum install -y epel-release

[root@node02 ~]# yum install -y nginx

[root@node02 ~]# echo "Nginx Server 1" > /var/www/html/index.html

[root@node02 ~]# vim /etc/nginx/nginx.conf

38 server {

39 listen 80 default_server;

40 listen [::]:80 default_server;

41 server_name _;

42 root /var/www/html;

修改第四十二行,将网页的目录切换到/var/www/html目录下面

[root@node02 ~]# systemctl start nginx

[root@node02 ~]# yum install -y mariadb-server

[root@node02 ~]# vim /etc/my.cnf

[mysqld]

skip_name_resolve = ON

innodb_file_per_table = ON

[root@node02 ~]# systemctl start mariadb

MariaDB [(none)]> create database server1; (在node02的mariadb上面创建一个server1的数据库)

[root@node03 ~]# yum install -y epel-release

[root@node03 ~]# yum install -y nginx

[root@node03 ~]# echo "Nginx Server 2" > /var/www/html/index.html

[root@node03 ~]# vim /etc/nginx/nginx.conf

38 server {

39 listen 80 default_server;

40 listen [::]:80 default_server;

41 server_name _;

42 root /var/www/html;

修改第四十二行,将网页的目录切换到/var/www/html目录下面

[root@node03 ~]# systemctl start nginx

[root@node03 ~]# yum install -y mariadb-server

[root@node03 ~]# vim /etc/my.cnf

[mysqld]

skip_name_resolve = ON

innodb_file_per_table = ON

[root@node03 ~]# systemctl start mariadb

MariaDB [(none)]> create database server2; (在node03的mariadb上面创建一个server2的数据库)

3、在haproxy上配置前端代理

[root@node01 ~]# vim /etc/haproxy/haproxy.cfg

frontend nginx *:80

default_backend mynginx

backend mynginx

balance roundrobin

server dynsrv1 192.168.85.129:80 check

server dynsrv2 192.168.85.130:80 check

listen mymysql

bind *:3306

mode tcp

balance roundrobin

server staticsrv1 192.168.85.129:3306

server staticsrv2 192.168.85.130:3306

listen stats

bind *:9099

acl allowstats src 192.168.85.1

acl all src 0.0.0.0/0.0.0.0

http-request allow if allowstats

http-request deny if all

stats enable

stats uri /myproxy?admin

stats realm "HAProxy Stats Page"

stats auth admin:admin

stats admin if TRUE

[root@node01 ~]# systemctl restart haproxy

4、测试

[root@node01 ~]# curl http://192.168.85.128

Nginx Server 1

[root@node01 ~]# curl http://192.168.85.128

Nginx Server 2

[root@node01 ~]# mysql -h 192.168.85.128 -u root -pxiaoshi22 -e "show databases;"

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| server1 |

+--------------------+

[root@node01 ~]# mysql -h 192.168.85.128 -u root -pxiaoshi22 -e "show databases;"

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| server2 |

+--------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值