在之前,我们做过将apache、php、mysql分别部署在三台机器上,然而这样会出现单点故障,今天我们通过基于网络文件共享的方式来解决前段单点故障的问题,关于如何将apache、php、mysql分别部署在三台机器上,其移步至本人的相关博客,地址为http://wangfeng7399.blog.51cto.com/3518031/1381688
一、拓扑图
二、在后台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
index.html文件也都可以访问成功
五、实现开机自动挂载
[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;};
}
由于本人水平有限,难免会出现错误,请各位大神批评指正!
转载于:https://blog.51cto.com/wangfeng7399/1383400