在之前,我们做过将apache、php、mysql分别部署在三台机器上,然而这样会出现单点故障,今天我们通过基于网络文件共享的方式来解决前段单点故障的问题,关于如何将apache、php、mysql分别部署在三台机器上,其移步至本人的相关博客,地址为http://wangfeng7399.blog.51cto.com/3518031/1381688

一、拓扑图

wKioL1MwWtrRRSt2AAEyBoNvTSg649.jpg

二、在后台php服务器上提供一个nfs共享目录

   在后台php的/etc/exports中添加如下内容

/www/html/wangfeng7399 192.168.1.0/24(rw,sync,all_squash)
/www/html/wangfeng17399 192.168.1.0/24(rw,sync,all_squash)

       这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,简单介绍一下:


   rw :读写;


   ro :只读;


   sync :同步模式,内存中数据时时写入磁盘;


   async :不同步,把内存中数据定期写入磁盘中;


   no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;


   root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root


   all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;


  修改wangfeng7399和wangfeng17399的权限是nfsnobody能够读写

[root@localhost html]# setfacl -m u:nfsnobody:rwx *

三、在前端服务器上挂载共享的nfs服务器

[root@httpweb html]# mount -t nfs 192.168.1.201:/www/html/wangfeng7399 /www/html/wangfeng7399
[root@httpweb html]# mount -t nfs 192.168.1.201:/www/html/wangfeng17399 /www/html/wangfeng17399

四、测试,在一台服务器上创建一个文件,看是否在另外一台服务器上能否看到

在一台机器上创建一个test文件
[root@localhost wangfeng7399]# touch test

wKioL1MwctHihoumAAErF5YDx4Y316.jpg

index.html文件也都可以访问成功

wKiom1Mwc6bjy9ToAABk-2WuSXg281.jpg

wKioL1Mwc3_ipsYBAABso_hMNlA012.jpg

五、实现开机自动挂载

[root@httpweb html]# mount -a
在fstab中写入
192.168.1.201:/www/html/wangfeng7399 /www/html/wangfeng7399  nfs,_dev defaults 0 0
192.168.1.201:/www/html/wangfeng17399 /www/html/wangfeng17399  nfs,_dev defaults 0 0                                                                           
[root@httpweb html]# mount
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.1.201:/www/html/wangfeng7399 on /www/html/wangfeng7399 type nfs (rw,vers=4,addr=192.168.1.201,clientaddr=192.168.1.109)
192.168.1.201:/www/html/wangfeng17399 on /www/html/wangfeng17399 type nfs (rw,vers=4,addr=192.168.1.201,clientaddr=192.168.1.109)

在DNS应该写入

optios{

    directory "/var/named"

      rrset-order{order random;};

}

由于本人水平有限,难免会出现错误,请各位大神批评指正!