web高可用群集架构部署----超详细

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。
常用运维工具系列:常用的运维开发工具, zabbix、nagios、docker、k8s、puppet、ansible等
数据库系列:详细总结了常用数据库 mysql、Redis、MongoDB、oracle 技术点,以及工作中遇到的 mysql 问题等
懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

mysql+ nginx+nfs lvs+keepalived +inotify+rsync高可用群集

简介

这是一个典型的Linux服务器群集解决方案,包括MySQL、Nginx、NFS、LVS和Keepalived。

MySQL:提供数据库服务。

Nginx:提供网页服务器和负载均衡。

NFS:提供文件存储服务。

LVS:提供负载均衡服务。

Keepalived:提供高可用性服务,通过VRRP协议实现。

inotify:Linux内核特性,用于检测文件系统的变动。

rsync:文件同步工具,用于同步文件和数据。

高可用性(High Availability,简称 HA)通常是指系统有效性和持续性。在这个解决方案中,Keepalived确保了服务的高可用性,即使一个节点失效,另一个备份节点可以接管服务。

NFS用于数据存储,确保了所有服务器节点都可以访问同一份数据。

LVS通过负载均衡算法分配用户请求到不同的服务器节点。

Nginx和MySQL配合工作,提供完整的网站服务和数据库服务。

inotify监控文件系统的变动,并通过rsync将变更的文件同步到其他服务器节点。

这个解决方案提供了一个高性能、高可用的网站服务平台。

项目负责人:老纪
1 、配置和管理 MySQL 数据库。
2 、部署和管理 Nginx
3 、设置和管理 NFS 文件共享系统。
4 、部署 LVS+Keeplived 高可用负载均衡。
5 、部署 inotify+rsync 服务进行数据备份。

企业网站群集架构部署—项目报告、项目需求 项目环境表

主机 操作系 主机名 / IP地址主机名 / IP地址 主要软件
客户端 Windows 11 192.168.23.10
MySQL 服务器 CentOS7.6
mysql_master /
192.168.244.203
MySQL5.7
MySQL 服务器 CentOS7.6
mysql_slave /
192.168.244.204
MySQL5.7
Web 服务器 CentOS7.6
Web01 /
192.168.244.205
nginx php-fpm
rpcbind
Web 服务器 CentOS7.6
Web01 /
192.168.244.206
nginxphp-fpm
NFS 共享服务器 CentOS7.6 NFS / 192.168.244.207 rpcbindrsync
负载均衡服务器 CentOS7.6
Lvs-master
ens32
192.168.23.208
ens34
192.168.244.179
VIP 192.168.23.100
VIP 192.168.244.100
LVSKeepalived
负载均衡服务器 CentOS7.6
Lvs-slave
ens32
192.168.23.209
ens34
192.168.244.209
VIP 192.168.23.100
VIP 192.168.244.100
LVSKeepalived
数据备份服务器 CentOS7.6
rsync /
192.168.244.210
inotifyrsync
项目实施:
💡 注意:所有服务器的 Firewalld Selinux 已关闭

一:配置和管理 MySQL 数据库

1、安装两台 MySQL数据库,配置主从复制
修改主机名
1 [root@centos7-3 ~]# hostnamectl set-hostname mysql_master
2 [root@centos7-3 ~]# bash
3 [root@mysql_master ~]#
4
5 [root@centos7-4 ~]# hostnamectl set-hostname mysql_slave
6 [root@centos7-4 ~]# bash
7 [root@mysql_slave ~]#
安装 NTP 时间同步( master 上操作)
1 [root@mysql_master ~]# yum -y install ntp
2 [root@mysql_master ~]# vim /etc/ntp.conf (添加下面两行)
3 server 127.127.1.0
4 fudge 127.127.1.0 stratum 8
5 [root@mysql_master ~]# systemctl restart ntpd
6 [root@mysql_master ~]# systemctl enable ntpd
7
8 在从节点上进行时间同步( slave 上操作)
9 [root@mysql_slave ~]# yum -y install ntpdate
10 [root@mysql_slave ~]# ntpdate 192.168.244.203
11 30 Mar 09:54:58 ntpdate[9034]: adjust time server 192.168.244.203 offset -0.000334 sec
安装 MySQL 数据库(在 master slave 上面操作) 1 [root@mysql_master ~]# cd /etc/yum.repos.d/
2 [root@mysql_master yum.repos.d]# vim mysql57.repo
3 [mysql57-community]
4 name=MySQL 5.7 Community Server
5 baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
6 enabled=1
7 gpgcheck=0
8 [root@mysql_master yum.repos.d]# yum -y install mysql mysql-server
9 [root@mysql_master ~]# systemctl enable mysqld --now
2、设置 MySQL 数据库的用户名和密码(master、slave上面操作)
1 [root@mysql_master ~]# grep password /var/log/mysqld.log
2 2024-03-30T02:10:02.167999Z 1 [Note] A temporary password is generated for
root@localhost: qUUp,.:p!7fw
3 [root@mysql_master ~]# mysql -u root -p'qUUp,.:p!7fw'
4
5 mysql> set password=password('Cisco@123');
6 Query OK, 0 rows affected, 1 warning (0.01 sec)
7
8 [root@mysql_slave ~]# grep password /var/log/mysqld.log
9 2024-03-30T02:10:02.790999Z 1 [Note] A temporary password is generated for
root@localhost: iakZfwxfv1(p
10 [root@mysql_slave ~]# mysql -u root -p'iakZfwxfv1(p'
11
12 mysql> set password=password('Cisco@123');
13 Query OK, 0 rows affected, 1 warning (0.01 sec)
3、配置主数据库的 binlog 格式和 binlog 同步。
1 ## 编辑 /etc/my.cnf 配置文件,增加以下三行
2 [root@mysql_master ~]# vim /etc/my.cnf
3 server-id = 11
4 log-bin = master-bin
5 log-slave-updates = true 6
7 ## 重启 mysql 服务
8 [root@mysql_master ~]# systemctl restart mysqld
9
10 ## 登录 MySQL 程序,给从服务器授权
11 [root@mysql_master ~]# mysql -u root -pCisco@123
12
13 mysql> grant replication slave on *.* to 'myslave'@'192.168.244.%' identified by
'Cisco@123';
14
15 mysql> flush privileges;
16
17 mysql> show master status;
18 +-------------------+----------+--------------+------------------+-------------------+
19 | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
20 +-------------------+----------+--------------+------------------+-------------------+
21 | master-bin.000001 | 604 | | | |
22 +-------------------+----------+--------------+------------------+-------------------+
23 1 row in set (0.00 sec)
4、配置 slave 从服务器
1 ## 编辑 /etc/my.cnf 配置文件,增加以下三行
2 [root@mysql_slave ~]# vim /etc/my.cnf
3 server-id = 22
4 relay-log = relay-log-bin
5 relay-log-index = slave-relay-bin.index
6
7 ## 重启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Linux运维老纪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值