因爲項目發佈時候須要搭建負載均衡的集羣,因此咱們的項目部署在了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...