FastDFS簡介及搭建

一、什麼是FastDFS

FastDFS是用c語言編寫的一款開源的分佈式文件系統。FastDFS爲互聯網量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載等服務。

二、FastDFS架構

包括 Tracker server和Storage server。客戶端請求Tracker server進行文件上傳、下載,通過Tracker server調度最終由Storage server完成文件上傳和下載。Tracker server作用是負載均衡和調度,通過Tracker server在文件上傳時可以根據一些策略找到Storage server提供文件上傳服務。可以將tracker稱爲追蹤服務器或調度服務器。Storage server作用是文件存儲,客戶端上傳的文件最終存儲在Storage服務器上,Storage server沒有實現自己的文件系統而是利用操作系統 的文件系統來管理文件。可以將storage稱爲存儲服務器。

     

三、文件上傳流程

1)上傳連接請求,客戶端會向tracker server發出上傳文件的請求 
2)tracker收到請求後,返回storage server的ip和端口 
3)客戶端連接storage,並且上傳文件 
4)文件上傳完成後,storage返回路徑信息

四、文件下載流程

tracker根據請求的文件路徑即文件ID 來快速定義文件。比如請求文件:group1/M00/00/00/agIBmlee7fOATa1MAAFw6fBcZXY841.png

 1.通過組名tracker能夠很快的定位到客戶端需要訪問的存儲服務器組是group1,並選擇合適的存儲服務器提供客戶端訪問。
2.存儲服務器根據“文件存儲虛擬磁盤路徑”和“數據文件兩級目錄”可以很快定位到文件所在目錄,並根據文件名找到客戶端需要訪問的文件。


五、FastDFS搭建


使用一臺虛擬機來模擬,只有一個Tracker、一個Storage服務,配置nginx訪問圖片,不涉及集羣。

6.fastdfs搭建步驟

第一步:把fastDFS都上傳到linux系統。


第二步:安裝FastDFS之前,先安裝libevent工具包。命令:yum -y install libevent

第三步:安裝libfastcommonV1.0.7工具包。

1、解壓縮:tar zxf libfastcommonV1.0.7

2、./make.sh

3、./make.shinstall

4、把/usr/lib64/libfastcommon.so文件向/usr/lib/下複製一份:cp /usr/lib64/libfastcommon.so /usr/lib

第四步:安裝Tracker服務。

1、解壓縮:tar zxf fastdfs-5.05.tar.gz

2、./make.sh

3、./make.shinstall

安裝後在/usr/bin/目錄下有以fdfs開頭的文件都是編譯出來的。

配置文件都放到/etc/fdfs文件夾

4、把/root/FastDFS/conf目錄下的所有的配置文件都複製到/etc/fdfs下。

5、配置tracker服務。修改/root/FastDFS/conf/tracker.conf文件:vim tracker.conf

6、啓動tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重啓使用命令:/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart

第五步:安裝storage服務。

1、如果是在不同的服務器安裝,第四步的1~4需要重新執行。

2、配置storage服務。修改/root/FastDFS/conf/storage.conf文件

  

    

3、啓動storage服務。

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

如果是重啓用restart,如果是第一次啓動不用加restart,start也不需要。

第六步:測試服務。

1、修改配置文件/etc/fdfs/client.conf

  


2、測試

/usr/bin/fdfs_test/etc/fdfs/client.conf upload anti-steal.jpg

第七步:搭建nginx提供http服務。

可以使用官方提供的nginx插件。要使用nginx插件需要重新編譯。

fastdfs-nginx-module_v1.16.tar.gz

1、解壓插件壓縮包

   2、修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉

3、對nginx重新config

./configure \

--prefix=/var/nginx\

--with-http_gzip_static_module\

--http-client-body-temp-path=/var/nginx/client\

--http-proxy-temp-path=/var/nginx/proxy\

--http-fastcgi-temp-path=/var/nginx/fastcgi\

--http-uwsgi-temp-path=/var/nginx/uwsgi\

--http-scgi-temp-path=/var/nginx/scgi\

--add-module=/root/soft/fastdfs-nginx-module/src

4、make

5、make install

6、把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件複製到/etc/fdfs目錄下。編輯:

7、nginx的配置

在nginx的配置文件中添加一個Server:

改爲:

server {
        listen       80;
        server_name  192.168.101.3;
        location /group1/M00/{
                ngx_fastdfs_module;
        }
   }
8、將libfdfsclient.so拷貝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

9、啓動nginx

10、nginx服務

 

本篇博客爲學習中記錄,按照教學視頻搭建,所有都是按老師搭建成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章