背景:在叢集部署環境下,隨著團隊發展,出現瓶頸:
因此,建立一個分散式檔案管理系統的新架構,希望有兩個特點:
FastDFS是最快的分散式檔案系統,主要用來進行檔案管理。
其功能主要有:(1)檔案儲存(2)檔案同步(3)檔案存取(上傳和下載等) 解決了大容量儲存了負載均衡的問題。
FastDFS原理圖:
FastDFS伺服器端有兩個角色:跟蹤器(Tracker)和儲存節點(storage):
整體來說,FastDFS有兩個主要特點:
1.安裝依賴環境
FastDFS由C語言開發,在linux命令列中輸入如下指令:
yum -y install gcc-c++
yum -y install libevent
2.上傳安裝檔案
在/usr/local下建立fastdfs包:mkdir fastdfs
使用Xftp將上述四個壓縮檔案上傳到/usr/local/fastdfs目錄下
3.安裝libfastcommon
進入fastdfs目錄下:cd usr/local/fastdfs
解壓libfastcommon的壓縮包:tar -zxf libfastcommonV1.0.7.tar.gz
進入解壓後libfastcommon的子目錄:cd libfastcommon-1.0.7
ll
檢視子目錄
執行命令進行編譯:./make.sh
執行安裝指令:./make.sh install
注意:libfasstcommon安裝好後會自動把庫檔案拷貝至usr/lib64目錄下,所以我們將其拷貝到usr/lib的libfastcommon的參照目錄中
cd /usr/lib64
cp libfastcommon.so /usr/lib
4.安裝FastDFS_v5.05(tracker+storage)
進入fastdfs目錄:cd /usr/local/fastdfs
解壓FastDFS_v5.0.5壓縮包: tar -zxf FastDFS_v5.0.5.tar.gz
進入FastDFS目錄下:cd FastDFS
執行命令進行編譯:./make.sh
執行安裝指令:./make.sh install
安裝成功後,將conf下檔案拷貝到/etc/fdfs檔案下,目的是為Nginx做準備:1.cd /usr/local/fastdfs/FastDFS/conf/
2.cp * /etc/fdfs
a.安裝tracker服務:
設定tracker服務,修改/etc/fdfs/tracker.conf檔案:cd tracker
開啟跟蹤器組態檔:vim /etc/fdfs/tracker.conf
找到base_path,並將其字尾地址改為/usr/local/fastdfs/FastDFS/tracker
啟動tracker:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
b.安裝storage:
修改storage儲存檔案:cd storage
輸入pwd
,複製地址
修改storage組態檔:vim /etc/fdfs/storage.conf
base_path=/usr/local/fastdfs/FastDFS/storage
store_path0=/usr/local/fastdfs/FastDFS/storage
修改跟蹤器地址(ip地址+tracker埠號):tracker_server=192.168.157.129:22122
啟動storage服務:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
5.設定使用者端
13. 拷貝libfdfsclient.so至 /usr/lib :cp libfdfsclient.so /usr/lib
14. 修改組態檔/etc/fdfs/client.conf:
15. 修改base_path地址和互動的tracker地址(IP+埠號):
6.安裝Nginx及Nginx依賴
16. yum命令安裝Nginx依賴環境:
(1)PCRE:
(2)zlib:
(3)openssl:
17. 解壓Nginx外掛壓縮包:
18. 設定config檔案,將其中local去掉:
輸入:
19. 將/fastdfs-nginx-module/src/mod_fastdfs.conf檔案複製到/etc/fdfs目錄下,並編輯:
20. 解壓Nginx:tar -zxf nginx-1.8.1.tar.gz
21. 對Nginx重新config:./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
其中=後面地址要根據自己Nginx外掛地址填寫,非固定。
22.執行編譯和安裝:(1)make
(2)make install
啟動Nginx服務:在nginx的sbin目錄下執行:./nginx
檢視Nginx工作狀態:
主程序master和工作程序worker都已啟動,Nginx啟動成功!
測試Nginx:在瀏覽器中輸入虛擬機器器ip地址,出現Nginx預設頁面:
測試FastDFS能否執行:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html