本文通过 DNS 绑定两台主机的 IP 地址到一个 URL,然后后台 samba 服务器提供站点文件,此处以 wordpress 为例。这样当有一台服务器 httpd 服务出现故障的时候不至于造成站点无法访问,而且站点数据和 mysql 数据库数据位于后台 samba 服务器,另一台服务器直接从 samba 服务器获取站点文件和数据库数据,不会造成数据的不一致。
一、实验环境:
-
三台主机 ip:
-
192.168.11.128:DNS,SAMBA
-
192.168.11.137:httpd,mysql
-
192.168.11.138:httpd
-
-
实验拓扑图如下:
二、具体实验步骤:
-
首先三台服务器分别安装不同的服务:
yum install -y bind samba samba-common #第一台主机安装 bind 提供 dns,安装 samba 提供 samba 服务# yum install -y httpd mariadb-server #第二台主机提供 mysql 和 httpd 服务# yum install -y httpd #第三台主机提供 httpd 服务#
-
配置 SAMBA
-
首先编辑**/etc/samba/smb.conf**修改 SAMBA 的配置文件,在配置文件末尾加入如下信息,配置需要共享的路径信息:
[wordpress] #名称# comment=wordpress #注释信息## path=/data/www/html #共享路径## public=no #禁止来宾账户访问# vaild users=apache #可以看到此共享的用户# write list=apache #允许写操作的用户# [mysql] comment=mysql path=/data/mysql public=no vaild users=mysql write list=mysql
-
通过 smbpasswd 命令添加指定的 apache 和 mysql 账户为 samba 账户
smbpasswd -a mysql smbpasswd -a apache
注意:
-
samba 默认会把系统存在的用户添加为 samba 授权用户,所以这两个用户必须存在。
-
这两个用户的 uid 必须和第二台主机和第三台主机上的用户 uid 一致,因为 samba 默认会映射远程用户 uid 一直的用户为本地指定 uid 用户。如果 uid 不一致,则不能访问 samba 目录;
-
-
创建/data/mysql 和/data/www/html 目录,并分别修改属主属组,下载 wordpress,解压并放入/data/www/html 目录下,启动 samba 服务:
mkdir /data/{www/html,mysql} chown mysql,mysql -R /data/mysql chown apache,apache -R /www/html service smb start #smb 是用来做文件共享的# service nmb start #nmb 服务用来解析 netbios name#
-
-
配置 httpd 和 mysql
-
第二台主机和第三台主机挂载 samba 共享文件:
mount.cifs //192.168.11.128/wordpress /var/www/html -o user=apache,password=1234567a mount.cifs //192.168.11.128/mysql /mydata -o user=mysql,password=1234567a
-
第二台主机编辑**/etc/my.cnf.d/server.cnf**配置 mysql 的数据目录,在[mysqld]下添加如下行:
datadir=/mydata
-
第二台主机启动 httpd 和 mysql 服务,第三台主机启动 httpd 服务:
systemctl start httpd systemctl start mariadb
-
-
在第一台主机配置 DNS:
-
修改/etc/named.conf 和/etc/named.rfc1912.zones 文件,以前博客有此文件的配置方法,此处不再赘述;
-
在/var/named/下创建相应的 zone 文件,配置如下:
$TTL 3600 @ IN SOA dns admin.wordpress.wzh.com ( 2017060601 10H 10M 10D 10D ) IN NS dns dns IN A 192.168.11.128 www IN A 192.168.11.138 #绑定 www.wordpress.wzh 到 192.168.11.138 和 137 两台主机# www IN A 192.168.11.137
-
启动 dns 服务,然后通过 ab 对域名进行压测,同时关闭一台服务器的 httpd 服务,会发现压测并没有报错,说明站点还是正常访问的状态,则表示双站点配置成功。
-
-
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于