專案中前端向後端傳遞檔案,除了直接傳遞檔案的base64編碼(請求體很大,很不友好),還可以傳遞nfs的檔案路徑,方便請求的進行。nfs(network file system),簡單的來說一台主機可以通過網路直接的訪問另一台主機的檔案,並且忽略作業系統之間的差異。
nfs是基於c/s架構,搭建好nfs伺服器後主要有兩種使用方式: 1.直接客戶端掛載伺服器 2.使用python的libnfs庫無需掛載直接進行訪問
2.libnfs庫直接訪問nfs檔案
#安裝nfs伺服器(ubuntu)
sudo
apt-get
install nfs-kernel-server
#安裝nfs伺服器(centos)
yum -y install nfs-utils
#修改配置,指定共享資料夾的相關設定
vim /etc/exports
#加上下面這行配置,將/home/rits/wantao/nfs資料夾共享,開放讀寫許可權
/home/rits/wantao/nfs *(rw,sync,no_subtree_check,no_root_squash)
#配置生效
exportfs -r
#檢視配置
exportfs -v
nfs配置詳解:1.掛載
1.1 windows掛載
開啟nfs功能
啟動或關閉windows功能–>nfs服務
檢視nfs伺服器
將本地資料夾掛載到nfs伺服器共享資料夾
1.2 linux掛載
安裝nfs
yum -y install nfs-utils
啟動rpcbind
#開機啟動
# systemctl enable rpcbind
#啟動# systemctl start rpcbind
將本地資料夾掛載到nfs伺服器共享資料夾#建立本地資料夾
mkdir /nfs
#將本地資料夾掛載到nfs伺服器共享資料夾
mount -t nfs -o vers=4 172.25.78.130:/home/rits/wantao/nfs /nfs
#檢視掛載結果
2.libnfs庫直接訪問nfs檔案
專案中沒有使用掛載的方式,因為不夠靈活。而通過python的libnfs庫可以直接通過nfs檔案路徑直接訪問nfs檔案。
之前以為直接通過pip install libnfs
就搞定了,沒想到很多的坑,花了我一天的時間,才在linux上安裝成功。
安裝libnfs
按照的readme,安裝libnfs這個庫之前還得先安裝這個模組。
git clone
#安裝編譯必須依賴
apt-get
install autoconf
apt-get
install automake
apt-get
install libtool
cd libnfs
#編譯和安裝
./bootstrap
./configure
make
&&make
install
然後pip install libnfs
,發現還會報乙個錯importerror: libnfs.so.13: cannot open shared object file: no such file or directory whereis libnfs.so.13
.原因是沒有找到libnfs.so.13這個庫。
#檢視這個庫在**,可以看到在/usr/lib/local下
whereis libnfs.so.13
#指定庫所在的目錄
vim /etc/profile
export ld_library_path=
"/usr/local/lib:$ld_library_path"
#使配置檔案生效
source /etc/profile
#這樣就能安裝成功了
pip install libnfs
libnfs使用示例
nfs = libnfs.
open
('nfs:'
,mode=
'r')
print
(nfs.read(
))
NFS搭建和部署
安裝部署 兩個伺服器乙個客戶端,乙個服務端 共享過去就覆蓋了以前的東西 安裝nfs utils,rpcbind,提供nfs共享的服務為nfs,完成安裝以後建議調整兩個服務的自啟動狀態,以便每次開機後自動啟動。手動載入nfs共享服務時,應該先啟動rpcbind,然後在啟動nfs。因為nfs要向rpc註...
NFS網路的搭建和遷移
以前的nfs伺服器在192.168.0.50 在新機器192.168.0.100 上安裝nfs服務,遷移資料到新主機上,然後啟動nfs服務,其他的客戶端全部重新掛載到新的nfs網路。保持掛載目錄和以前完全一樣 以前的服務端掛載點 data nfs 為了保持一致,新的服務端掛載點設定一樣 data n...
NFS使用autofs自動掛載
nfs自動掛載設定在 etc fstab和 etc rc.local可能掛載不成功,假如是服務端nfs宕機還可能導致客戶端無法啟動,可以使用autofs實現自動掛載 安裝autofs yum y install autofs修改配置檔案 etc auto.master在尾部新增一行 backup e...