NFS(Network File System)即網路檔案系統,它最大的功能就是可以透過網絡,讓不同的機器、不同的作業系統可以共享彼此的文件,使用者存取網路上別處的文件就像在使用自己的電腦一樣。
到同一個地方拿數據,保障網站資料的一致性,不管負載平衡器將請求分配到哪台後端的伺服器,客戶機看到的內容是一致的。
不是的,nfs是比較廉價的解決方法1,一般公司不會使用,效能不是特別高,建議使用專用的儲存伺服器。
優點:隨便一台linux伺服器都可以搭建,成本非常低,構建非常容易
缺點:讀取速度有限,跟網路質量,磁碟IO,CPU,記憶體等因素有關,再傳統的tcp/ip網路傳輸。
儲存伺服器
優點:讀寫效能好,有災備
缺點:成本高
NFS 支援的功能相當的多,而不同的功能都會使用不同的程序來啟動, 每啟動一個功能就會啟用一些端口來傳輸數據,因此, NFS 的功能所對應的端口才沒有固定,這時候就需要RPC綁定
RPC 最主要的功能就是在指定每個NFS 功能所對應的連接埠.
準備一台centos7.9伺服器(192.168 .2.58)
一台客戶機(192.168.2.218)
服務機
yum install nfs-utils -y service nfs-server start #启动nfs服务 ps aux |grep nfs #查看nfs进程 ss -anplut|grep rpc
vim /etc/exports /web 192.168.2.0/24(rw,all_squash,sync)
rw: 讀寫
sync: 寫到記憶體的時候同步刷新到磁碟
all_squash:共享檔案的UID和GID映射匿名用戶anonymous(普通用戶)。
aysnc:不即時同步 ,對應速率高,但危險。
mkdir /web vim /web/index.html #添加一些内容,退出并保存 >wyt #我就添加了wyt,退出并保存 exportfs -rv #刷新输出(类似刷新服务)
注意關閉防火牆和selinux
客戶機
yum install nfs-utils -y showmount -e 192.168.2.58 #查询nfs服务器共享的文件夹 mkdir /web #客户机新建文件夹 mount 192.168.2.58:/web /web 将nfs服务器上的/web目录挂载到本地的/web目录 ls /web #可以查看到nfs服务器的index.html,挂载后没有写的权限所以需要客户机给文件的权限 df -Th
權限受到兩種權限限制
檔案系統權限
共享權限
共用權限已經打開,所以服務機需要授權文件權限
chmod a+w /web #/web所有人写的权限
只要把伺服器的index.html掛載到nginx下的html,就可以實現在web下寫入操作。
mount 192.168.2.58:/web /usr/local/scwangyutao99/html/
掛載(mount):其實就是相當於插了一個外接USB或移動硬碟。 umount就相當於彈出U盤。
umount /usr/local/scwangyutao99/html/ #umount.nfs4: /web: device is busy 是因为当前在目录之下
umount之後顯示先前網頁
#設定開機自動掛載
##/etc/rc.localsed -i '$a mount 192.168.2.58:/web /usr/local/scwangyutao99/html/' /etc/rc.local chmod +x /etc/rc.d/rc.local #赋予可执行权限修改/etc/fstab 檔案
/etc/fstab 是linux系統開機自動根據這個檔案裡的內容掛載磁碟分割區
第一列Device第二列Mount point,設備的掛載點。
第三列filesystem,磁碟檔案系統的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列:檔案系統的參數,預設defaults
第五列:能否被dump備份指令作用。 0代表不要做dump備份
1代表要每天進行dump的操作,2代表不定日期的進行dump操作
第六列:是否檢驗扇區,0不要檢驗,1最早檢驗(一般根目錄會選擇)
2,1級檢定完成之後進行檢定sed -i '$a 192.168.2.58:/web /usr/local/scwangyutao99/html/ nfs defaults 0 0' /etc/fstab
以上是nginx如何建置NFS伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!