haproxy负载均衡集群安装与配置

11 篇文章 0 订阅

haproxy负载均衡集群安装与配置

一、虚拟机模板环境准备

1、关闭防火墙、selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
getenforce
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

2、 删除iptables防火墙规则

iptables -F
iptables -X
iptables -Z
/usr/sbin/iptables-save

3、移除本地yum源

mv /etc/yum.repos.d/* /media/

4、准备镜像做本地源

CentOS-7-x86_64-DVD-1804.iso上传到/home目录下

mkdir /opt/centos
mount -o loop /home/CentOS-7-x86_64-DVD-1804.iso /mnt/
cp -rvf /mnt/* /opt/centos/
umount /mnt/

5、配置本地yum源

vim /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1

6、清理yum缓存

yum clean all
yum list

二、搭建Web1

1、重命名服务器名字

hostnamectl set-hostname Wss34-Web1
su

2、安装数据库

yum install -y mariadb-server
systemctl restart mariadb
systemctl enable mariadb

3、配置数据库

  • 修改数据库密码
mysqladmin -uroot password 数据库密码

或者

mysql
MariaDB [(none)]> use mysql;  
MariaDB [mysql]> UPDATE user SET password=password('数据库密码') WHERE user='root'; 
MariaDB [mysql]> flush privileges;   
MariaDB [mysql]> exit; 

4、安装Web服务器

yum install -y php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
systemctl restart httpd
systemctl enable httpd

具体请参考:PHP连接数据库 - ERHE·Blog

5、部署Discuz-X3.4

Discuz_X3.4_SC_UTF8【20200818】.zip上传到网站根目录(/var/www/html)并解压

Discuz_X3.4_SC_UTF8【20200818】.zip 点击下载

yum install -y unzip
cd /var/www/html
unzip Discuz_X3.4_SC_UTF8【20200818】.zip
chmod 777 -R /var/www/html/*

浏览器打开这个网页

http://IP地址/upload/

6、部署完成

7、写入页面

cd /var/www/html
vim index.html
<!DOCTYPE html>
<html lang="ZH">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Web1</title>
</head>
<body>
    <h1>This is Web1</h1>
    <a href="./upload">点击这里进入博客</a>
</body>
</html>

最后wq保存就好了

二、搭建Web2

拷贝Web1就行了

⭕注意:一定要先把虚拟机关机后把VMWera关闭后再进行复制

PS:记得改一下名字和Web页面

hostnamectl set-hostname wss34-web2
cd /var/www/html
vim index.html

把里面的1改成2

三、部署haproxy1

1、重命名服务器名字

hostnamectl set-hostname Wss34-haproxy
su

2、安装haproxy

yum install -y haproxy

3、配置haproxy

vim /etc/haproxy/haproxy.cfg

翻到最下面改这这些

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main *:80
    acl url_static       path_beg       -i /static /images /javascript /stylesheets
    acl url_static       path_end       -i .jpg .gif .png .css .js

    use_backend app          if url_static
    default_backend             app

#---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
backend static
    balance     roundrobin
    server      static 127.0.0.1:4331 check

#---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
    balance     roundrobin
    server  app1 10.129.1.233:80 check
    server  app2 10.129.0.23:80 check

listen stats
    mode http
    bind 0.0.0.0:8888
    stats enable
    stats uri /wss34
    stats auth admin:admin123

4、重启haproxy

systemctl restart haproxy
systemctl enable haproxy

5、访问并测试

http://10.129.1.132/

6、再次访问并测试

7、进入监控界面

http://10.129.1.132:8888/wss34

至此搭建完成!

四、搭建haproxy2

拷贝haproxy1一份就行了

⭕注意:一定要先把虚拟机关机后把VMWera关闭后再进行复制

五、部署keepalived高可用

1、重命名服务器名字

hostnamectl set-hostname Wss34-haproxy2
su

2、安装keepalived

  • haproxy和haproxy2两台服务器都要安装
yum install -y keepalived

3、查看网卡

ip a

4、更改配置文件

vim /etc/keepalived/keepalived.conf
  • 主服务器的配置文件:
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
#   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER
    interface ens36
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.34.100
    }
}
  • 从服务器的配置文件:
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
#   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens36
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.34.100
    }
}

5、运行keepalived

systemctl enable --now keepalived

6、查看运行状态

systemctl status keepalived
  • 主服务器上面的状态

  • 从服务器上面的状态

7、进行测试

断开了主节点

再进行访问测试

六、部署主从数据库

1、准备两台虚拟机

拷贝模板虚拟机就行了,拷贝两次

⭕注意:一定要先把虚拟机关机后把VMWera关闭后再进行复制

PS:记得改一下服务器名字

hostnamectl set-hostname wss34-sql1
su
hostnamectl set-hostname wss34-sql2
su

2、安装数据库

⭕这步操作两台都要配置

yum install -y mariadb-server
systemctl restart mariadb
systemctl enable mariadb

3、配置数据库

⭕这步操作两台都要配置

  • 更改数据库密码
mysqladmin -uroot password 数据库密码

或者

mysql
MariaDB [(none)]> use mysql;  
MariaDB [mysql]> UPDATE user SET password=password('数据库密码') WHERE user='root'; 
MariaDB [mysql]> flush privileges;   
MariaDB [mysql]> exit; 

  • 开启远程连接
mysql -u root -p
MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by '数据库密码';
MariaDB [mysql]> flush privileges;  
systemctl restart mariadb

4、主服务器配置

vim /etc/my.cnf.d/server.cnf

在[mysqld]下面加入这些配置

server-id=1
log_bin=mysql-bin
binlog-ignore-db=mysql

重启数据库并查看配置

systemctl restart mariadb
mysql -u root -p
show master status;

5、从服务器配置

vim /etc/my.cnf.d/server.cnf

在[mysqld]下面加入这些配置

server-id=2

重启数据库并配置

systemctl enable --now mariadb
mysql -u root -p
MariaDB [(none)]> change master to master_host='主数据库IP地址',master_user='root',master_password='主数据库密码',master_log_file='mysql-bin.000002',master_log_pos=245;
# 后面两个数据按照上一步的主数据库查出来的配置来进行填写。
MariaDB [(none)]> start slave;
# 如果在这一步一直失败的话就退出数据库重启数据库以后再进去数据库这么操作就好了!

查看从服务器运行状态

MariaDB [(none)]> show slave status \G;

6、进行测试

  • 主数据库
create database wangss34;
show databases;

  • 从数据库
show databases;

七、部署Web到主从数据库集群

1、部署Web服务器

⭕使用原来的Web1服务器进行删除网站根目录重新配置部署Discuz-X3.4

  • 删除原来旧的网站根目录
rm -rf /var/www/html/*
  • Discuz_X3.4_SC_UTF8【20200818】.zip上传到网站根目录(/var/www/html)并解压

Discuz_X3.4_SC_UTF8【20200818】.zip 点击下载

cd /var/www/html
unzip Discuz_X3.4_SC_UTF8【20200818】.zip
chmod 777 -R /var/www/html/*

浏览器打开这个网页

http://IP地址/upload/

3、验证主从数据库

  • 主数据库
show databases;

  • 从数据库
show databases;

📣特别声明

原文地址:haproxy负载均衡集群安装与配置 - 开摆工作室博客 (kbai.cc)

此文章全部都是依靠自己的学习理解来写的原创文章,难免可能会出现有错误的地方,

如果大家以后阅读的时候发现有问题,那就麻烦到下方评论区来进行错误指出,使错误尽快做出改正,

在此,感谢大家的阅读与支持!🤝💦🎉

🍻支持一下

觉得我写的好的话可以支持一下我哦~持续关注我,会更新其他好玩且实用的项目。

👋如果我能帮助到你,那就请我喝杯🧋呗~👇👇👇

我的博客链接:blog.kbai.cc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开摆工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值