FastDFS 學習總結

1.1   什麼是FastDFS

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

 

1.2 文件上傳流程

1.1 3 文件下載流程

1.4   上傳文件的文件名

客戶端上傳文件後存儲服務器將文件ID返回給客戶端,此文件ID用於之後訪問該文件的索引信息。文件索引信息包括:組名,虛擬磁盤路徑,數據兩級目錄,文件名。nginx

 

 

n  組名:文件上傳後所在的storage組名稱,在文件上傳成功後有storage服務器返回,須要客戶端自行保存。服務器

n  虛擬磁盤路徑:storage配置的虛擬路徑,與磁盤選項store_path*對應。若是配置了store_path0則是M00,若是配置了store_path1則是M01,以此類推。負載均衡

n  數據兩級目錄:storage服務器在每一個虛擬磁盤路徑下建立的兩級目錄,用於存儲數據文件。分佈式

文件名:與文件上傳時不一樣。是由存儲服務器根據特定信息生成,文件名包含:源存儲服務器IP地址、文件建立時間戳、文件大小、隨機數和文件拓展名等信息。工具

 

1.5 FastDFS搭建

 

 

可使用一臺虛擬機來模擬,只有一個Tracker、一個Storage服務。性能

配置nginx訪問圖片。測試

1.6 搭建步驟

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

第二步:安裝FastDFS以前,先安裝libevent工具包。3d

yum -y install libevent

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

一、解壓縮

二、./make.sh

三、./make.sh install

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

第四步:安裝Tracker服務。

一、解壓縮

二、./make.sh

三、./make.sh install

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

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

四、把/root/FastDFS/conf目錄下的全部的配置文件都複製到/etc/fdfs下。

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

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

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

第五步:安裝storage服務。

一、若是是在不一樣的服務器安裝,第四步的1~4須要從新執行。

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

三、啓動storage服務。

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

第六步:測試服務。

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

二、測試

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

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

可使用官方提供的nginx插件。要使用nginx插件須要從新編譯。

fastdfs-nginx-module_v1.16.tar.gz

一、解壓插件壓縮包

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

三、對nginx從新config

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

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

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

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

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

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

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

四、make

五、make install

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

七、nginx的配置

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

server {

        listen       80;

        server_name  192.168.101.3;

 

        location /group1/M00/{

                #root /home/FastDFS/fdfs_storage/data;

                ngx_fastdfs_module;

        }

}

八、將libfdfsclient.so拷貝至/usr/lib下

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

九、啓動nginx

相關文章
相關標籤/搜索