环境:
OS:CentOS 6.5 x86_64
Web+nfs Server IP:172.16.4.36
Web+nfs Client IP:172.16.4.35
一.在web+nfs 服务器端配置
1.安装http,nfs-utils相关软件
[root@kvm2 ~]# yum install nfs-utils httpd
2.查看服务器apache、nfsnobody 用户的id
[root@kvm2 ~]# id apache
uid=48(apache) gid=48(apache) groups=48(apache)
[root@kvm2 ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)
注;nfs是以ID号来确定是否能访问共享文件的,所以每台服务器的用户id必须相同否则会出现权限的问题。
3.启动服务
[root@kvm2 ~]# service rpcbind start
Starting rpcbind: [ OK ]
[root@kvm2 ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
注意这里的启动顺序是先启动rpcbind,再启动nfs。否则会出现下面的错误:
关闭先关nfs,先关rpcbind
4.创建共享目录和网页文件
[root@kvm2 ~]# mkdir -p /web/htdocs
[root@kvm2 yum.repos.d]# setfacl -R -m u:apache:rwx /web/ #设置apache 用户对此目录所有文件读写可执行权限
[root@kvm2 ~]# cd /web/htdocs/
root@kvm2 htdocs]# touch index.html
[root@kvm2 htdocs]# echo "my web+nfs server" >index.html
5.web虚拟主机配置
[root@kvm2 htdocs]# vi /etc/httpd/conf/httpd.conf
<VirtualHost 172.16.4.36:80>
DocumentRoot /web/htdocs
ServerName www.wystest.com
ErrorLog /web/htdocs/error_log
CustomLog /web/htdocs/access_log commom
</VirtualHost>
[root@kvm2 htdocs]# httpd t #检查是否成功
Syntax OK
[root@kvm2 log]# service httpd start #启动出现错误,是因为没有把Selinux关闭
Stopping httpd: [FAILED]
[root@kvm2 log]# setenforce 0 #关闭selinux
root@kvm2 log]# service httpd start
Starting httpd: [ OK ]
打开浏览器输入www.wystest.com显示如下说明配置成功
6.nfs的配置
[root@kvm2 yum.repos.d]# vi /etc/export
/web/htdocs 172.16.4.0/24(rw,sync,all_squash,anonuid=48,anongid=48) #这里的id是apache用户的id
部分参数说明
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有只写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid将客户机上的用户映射成指定的本地用户ID的用户
anongid将客户机上的用户映射成属于指定的本地用户组ID
sync资料同步写入到内存与硬盘中
async资料会先暂存于内存中,而非直接写入硬盘
secure限制客户端只能从小于1021的tcp/ip端口连接nfs服务器
重新加载nfs配置文件
[root@kvm2 yum.repos.d]# exportfs -rv
exporting 172.16.4.0/24:/web/htdocs
查看是否正常
root@kvm2 yum.repos.d]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/web/htdocs 172.16.4.0/24
看到共享目录了,说明成功了
二.Nfsclient和httpd安装
[root@nfsclient ~]# yum install nfs-utils httpd
1.web虚拟主机配置
[root@nfsclient ~]# vi /etc/httpd/conf/httpd.conf
<VirtualHost 172.16.4.35:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /webdr
ServerName www.wystest.com
</VirtualHost>
[root@nfsclient ~]# mkdir /webdr
root@nfsclient ~]# cd /webdr/
[root@nfsclient webdr]# touch index.html
[root@nfsclient webdr]# echo "my web+nfs server" >index.html
[root@nfsclient ~]# httpd t #检查是否正常
Syntax OK
2.启动服务
[root@nfsclient ~]# service httpd start
Starting httpd: [ OK ]
3.客户端挂载服务器的共享文件
root@nfsclient ~]# mount -t nfs 172.16.4.36:/web/htdocs /webdr/
[root@nfsclient ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_nfsclient-LogVol00 9.7G 776M 8.4G 9% /
tmpfs 145M 0 145M 0% /dev/shm
/dev/sda2 194M 28M 156M 16% /boot
172.16.4.36:/web/htdocs 9.7G 844M 8.3G 10% /webdr
root@nfsclient ~]# cd /webdr/
[root@nfsclient webdr]# ls
access_log error_log index.html #文本同步过来了
4.在客户端新建文件查看是否同步到服务器端上
[root@nfsclient webdr]# touch test.html
root@kvm2 yum.repos.d]# cd /web/htdocs/
[root@kvm2 htdocs]# ls
access_log error_log index.html test.html #服务器上也同步过来了
转载于:https://blog.51cto.com/vqiao/1609123