如何保证2站点或多站点在负载均衡下站点内容保持一致呢?

时间:2022-05-30
本文章向大家介绍如何保证2站点或多站点在负载均衡下站点内容保持一致呢?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

现实环境中,随着业务量的不断增加,web 服务器也有之前的一台变成了多台,但是问题是,在负载均衡下,不可能再次搭建一个站点,这样当用户访问的时候其站点内容绝对不是一致的,如何操作呢?

实验机器:

IP 地址

功能

192.168.230.150

WEB 1 (线上在使用中)

192.168.230.151

WEB 2 (新机器)

192.168.230.149

MYSQL

思路是:在WEB 1 上面安装NFS服务端,在WEB 2上面安装客户端,WEB 2 挂载WEB 1上面的站点目录。实现数据一致!

一、配置新机器WEB2

1.1 配置并安装 Linux+Nginx+Mysql+Php-fpm。如何去配置参照此连接。

1.2 新机器创建好了之后,不要上传任何站点文件。

[root@zhdy-03 ~]# cd /data/wwwroot/www.zhdy03.com/
[root@zhdy-03 www.zhdy03.com]# ls

二、安装NFS服务

2.1 WEB 1安装NFS服务端并配置

# yum install -y nfs-utils rpcbind
 
# vim /etc/exports

写入如下内容:

/data/wwwroot/www.discuz.com/  192.168.230.0/24(rw,sync,all_squash,anonuid=1040,anongid=1040)

---------------------

# systemctl restart nfs

# sudo chmod 777 /data/wwwroot/www.zhdy04.com/

2.2 WEB 2挂载分享的站点目录

# showmount -e 192.168.230.150
Export list for 192.168.230.150:
/data/wwwroot/www.zhdy04.com 192.168.230.0/24

# mount -t nfs 192.168.230.150:/data/wwwroot/www.zhdy04.com/ /data/wwwroot/www.zhdy03.com/

2.3 测试

# df -h
Filesystem                                    Size  Used Avail Use% Mounted on
/dev/mapper/cl-root                            30G  6.2G   24G  21% /
devtmpfs                                      473M     0  473M   0% /dev
tmpfs                                         489M     0  489M   0% /dev/shm
tmpfs                                         489M  7.1M  482M   2% /run
tmpfs                                         489M     0  489M   0% /sys/fs/cgroup
/dev/sda1                                     473M  165M  309M  35% /boot
/dev/mapper/cl-var                            9.4G  1.4G  8.0G  15% /var
/dev/mapper/cl-home                           7.5G   37M  7.5G   1% /home
tmpfs                                          98M     0   98M   0% /run/user/0
192.168.230.150:/data/wwwroot/www.zhdy04.com   30G  6.3G   24G  21% /data/wwwroot/www.zhdy03.com

# ls
admin.php  api.php   config       crossdomain.xml  favicon.ico  group.php  index.php  member.php  plugin.php  robots.txt  source  template   uc_server
api        archiver  connect.php  data             forum.php    home.php   install    misc.php    portal.php  search.php  static  uc_client

三、数据库增加授权

##之前我们已经授权了当前站点(WEB 1)可以访问本机数据库,下面我们需要授权(WEB 2同理也需要可以访问)

##WEB 1 :

mysql> create database discuz;
Query OK, 1 row affected (0.04 sec)

mysql> grant all on discuz.* to 'discuz'@'192.168.230.150' identified by 'zhangduanya';
Query OK, 0 rows affected (0.06 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

##WEB 2 :

mysql> grant all on discuz.* to 'discuz'@'192.168.230.151' identified by 'zhangduanya';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

然后使用 http://192.168.230.150/forum.php 可以顺利访问,也可以看到刚刚发布的帖子。

使用 http://192.168.230.151/forum.php 呢?

也许你现在也会有和我之前一样的疑问,为什么呢?

因为WEB 1站点配置好的所有信息均写进了discuz站点目录中的install文件夹,里面包含了数据库的配置和连接信息!!

然后再次在负载均衡server内增加real server添加新机器即可!