几乎所有的软件都有图片或附件的资源,将应用服务区和图片服务器放一起不合理的行为,因为一般图片服务器IO消耗严重,可能导致应用崩溃。因此需要剥离出专门的图片服务器,正对其进行专门的优化。对于小型的图片服务器可用NFS技术即可。后面会有专门篇章介绍FastDFS TFS HDFS等分布式文件系统方案。环境:server:192.168.15.131client :192.168.15.130yum install nfs-utils portmap#centos 6.x中portmap 已经被rpcbind取代,无需安装
chkconfig rpcbind on
chkconfig nfs on
service rpcbind start
service nfs start安装过程:server端:mkdir /home/share
echo "/home/share 192.168.15.130(rw,no_root_squash,sync)" >> /etc/exports配置第一段为共享目录,第二段为客户端地址(ip/ip段/域名)和权限。关于共享目录权限说明如下:rw:read-write,可读写;(同时设置共享目录权限)ro:read-only,只读; sync:文件同时写入硬盘和内存; async:文件暂存于内存,而不是直接写入内存; no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份; all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限; anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定; anongid:匿名用户的GID值。修改/ect/exports后可通过exportfs命令使其立即生效showmount -e [nfs-server]:显示指定的NFS SERVER上export出来的目录client端:mkdir /home/share
mount 192.168.15.131:/home/share /home/share -tnfs测试:在client相应目录中添加文件,server中便会存在。如上,利用NFS server作为文件服务器,利用RPC协议实现了多台linux间目录共享