因为项目发布时候须要搭建负载均衡的集群,因此咱们的项目部署在了4个服务器上,可是因为上传的图片和文件是共享的,因此又单独拿出一个服务器当作了文件服务器,用于后台系统的部署和图片,音频的放置。服务器
因为对于视频和音频的截取须要一个相似的本地环境做为文件读写的平台,因此我决定把第5台文件服务器上存储文件的地方映射到其余4个服务器的目录上。负载均衡
环境:spa
以两个服务器为例子:(a:192.168.21.1,b:192.168.21.2).net
都须要安装nsf的包:yum install nfs-utils portmapcode
假设服务端a(文件服务器)地址:192.168.21.1视频
在/usr/local/uploadFile 是须要创建映射的文件夹(存储文件的地方),咱们须要进行如下操做:server
编辑/etc/exports文件
加入如下内容:blog
/usr/local/uploadFile 192.168.21.2(rw,sync,no_root_squash)
其中的IP地址是须要创建映射的b服务器的地址,表示容许b服务器访问,rw表示为有读写权限。图片
保存后,启动咱们的两个服务,注意必定要先启动portmap后启动nfs:rpc
service rpcbind start service nfs start
咱们能够用:
showmount -e
而后咱们能够看见已经能够被挂在的本地路径和挂载权限了。
安装好nfs的包以后,能够直接启动nfs和portmap
service rpcbind start service nfs start
而后在服务器上创建要映射到的文件夹,依旧是/usr/local/uploadFile
mkdir /usr/local/uploadFile
为了保险起见提高咱们创建的文件夹权限:
chmod -r 777 /usr/local/uploadFile
而后咱们挂载a服务器的文件路径到b服务器下:
mount -t nfs 192.168.21.1:/usr/local/uploadFile /usr/local/uploadFile
这样就能够了。
若是咱们想要解除映射,只须要用unmount命令就能够了:
umount /usr/local/uploadFile
若是碰到了mount.nfs: access denied by server while mounting 的这种错误,八成是映射源文件夹的权限,或者是映射目的文件夹的权限不够形成的,用chmod -r 777 去提权,或者加入sudo 命令去提权就行了。
若是遇到了refused mount request from 。。。的问题,八成是防火墙,或者一些别的限制缘由把nsf所须要的端口占用或者限制了,这个时候咱们只须要开启相应的端口就行了。
端口问题详见:https://blog.csdn.net/armeasy...