二進制檔案(圖檔以及視訊)通過儲存伺服器自身記憶體,以資料庫位址方式查詢,這樣大大需要伺服器具有高性能的cpu以及大量的記憶體,造成成本過高.FastDFS的出現用于儲存較大的視訊和圖檔檔案,其不需要較高的cpu運算性能,伺服器有較大的記憶體即可,是以成本較低
FastDFS分為tracker,storage,client三部分,tracker是儲存storage元資訊和操作資訊的.storage是真正的資料儲存地
FastDFS叢集分為組(或卷),每組都會存在一或多台伺服器,組(卷)内的資料是同步的,當一台伺服器出現問題時,馬上尋找完好的伺服器,将卷内未損壞的伺服器的資料同步至新入卷的伺服器,這樣大大提高了資料的安全性
一.安裝FastDFS
1.安裝FastDFS所需環境libfastcommon
首先下載下傳libfastcommon-master.zip安裝包
把安裝包傳輸到Ubuntu系統中
解壓
進入檔案源目錄,編譯安裝
./make.sh
./make.sh install
安裝好的檔案會淩亂分布,是以為了友善筆者建議建立軟連接配接,便于管理
ln -sv /usr/inclued/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib/libfastclient.so /usr/local/lib/libfastclient.so
ln -sv /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -sv /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -sv /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
2.安裝FastDFS
下載下傳FastFS安裝包
解壓編譯安裝
./make.sh
./make.sh install
确認是否安裝成功,檢視/etc/fdfs目錄下是否存在client.conf.sample等三個檔案
複制模闆資訊并配置檔案
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
建立儲存資訊目錄
mkdir -p /usr/data/fdfs/tracker
mkdir -p /usr/data/fdfs/storage
mkdir -p /usr/data/fdfs/client
啟動tracker和storage服務
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
出現活躍即表示啟動成功可用
3.FastDFS檔案操作測試
上傳檔案測試
首先找到一張圖檔
上傳
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /srv/ftp/test.png
成功後會收到提示,如下資訊即為圖檔位址,但是此時還無法從網站直接通路,因為沒有配置web伺服器
我們可以根據檔案URL位址判斷其儲存位址
group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png
下載下傳測試
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png
這時候我們到指定目錄,即可檢視到此檔案
删除測試
/usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKhKjlzyNjCAKnupAANIXOaB28w101_big.png