專案需要儲存海量小檔案,傳統方法是上傳到某個磁碟中的資料夾,但是對於大量的小檔案,這種方式不可取。所以打算採用分布式檔案系統。
分布式檔案系統:顧名思義,他是可以集群的。我選用fastdfs伺服器儲存檔案
使用docker搭建fastdfs檔案伺服器:
虛擬機器安裝docker:yum install docker-engine
執行docker pull morunchang/fastdfs
拉取檔案伺服器的映象
檢視是否拉取成功:docker images
執行tracker:docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
執行storage:docker run -d --name storage --net=host -e tracker_ip=:22122 -e group_name=《自定義組名》 morunchang/fastdfs sh storage.sh
檢視是否成功啟動:docker ps
可以看到成功啟動了
8. 修改nginx的配置,不攔截上傳內容:
fastdfs內建nginx
//新增修改內容
location /group1/m00
我對tracker和storage的理解是:
tracker是fastdfs客戶端用來和storage通訊的媒介
客戶端大部分的操作過程是先通過查詢tracker,從tracker返回具體的storageip,然後連線返回的storageip,執行具體的操作。
在tracker.conf中有關upload storage選擇的相關配置
1)選擇upload的group
0:表示所有的group以輪詢方式選擇
1:指定group,該group的名稱由store_group配置指定
2:負載均衡,表示選擇空餘容量最大的group
2)選擇group中的storage
0:group中的所有的storage輪詢選擇
2:根據優先順序配置(在每個storage.conf中的upload_priority配置)
3)選擇storage中的store_path
0:對所有的store path進行輪詢
1:負載均衡,選擇空閒空間最大的store_path
springboot整合fastdfs時的乙個坑,linux對外暴露的埠有:8080,22122,23000,幾乎沒人提到23000埠,這其實是storage的預設埠。
不使用docker搭建fastdfs的一些坑:
1.fastdfs_nginx_module的版本號和fastdfs不相容,5.0.5對應1.16
2.cd fastdfs-nginx-module/src 下的config檔案配置問題:
3.配置storage的nginx訪問路徑時,nginx的配置檔案中加user root;不然會報nginx 404
Docker下FastDFS環境搭建
本文使用docker進行搭建。拉取映象 docker pull delron fastdfs 建立tracker容器 docker create network host name tracker restart always v fdfs tracker var fdfs delron fastd...
使用Docker安裝FastDFS
可以利用已有的fastdfs docker映象來執行fastdfs。docker image pull delron fastdfs也可是直接使用映象備份檔案 docker load i 檔案路徑 fastdfs docker.tar載入好映象後,就可以開啟執行fastdfs的tracker和sto...
使用 Docker安裝 FastDFS
tracker 進行排程,storage 進行儲存 獲取映象docker image pull delron fastdfs docker load i 檔案路徑 fastdfs docker.tar拉取速度太慢的話可以參考我之前的文章 ubuntu 中 docker 安裝和映象加速 配置國內的映象...