摘要:可以將稱為追蹤服務(wù)器或調(diào)度服務(wù)器。實際保存文件分為多個組,每個組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項對應(yīng)。數(shù)據(jù)兩級目錄服務(wù)器在每個虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數(shù)據(jù)文件。
FastDFS是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴容等機制,并注重高可用、高性能等指標(biāo),使用 FastDFS 很容易搭建一套高性能的文件服務(wù)器集群提供文件上傳、下載等服務(wù)。 FastDFS架構(gòu)包括 Tracker server 和 Storage server。客戶端請求 Tracker server 進行文 件上傳、下載,通過 Tracker server 調(diào)度最終由 Storage server 完成文件上傳和下載。 Tracker server 作用是負(fù)載均衡和調(diào)度,通過 Tracker server 在文件上傳時可以根據(jù)一些 策略找到 Storage server 提供文件上傳服務(wù)。可以將 tracker 稱為追蹤服務(wù)器或調(diào)度服務(wù) 器。 Storage server 作用是文件存儲,客戶端上傳的文件最終存儲在 Storage 服務(wù)器上, Storageserver 沒有實現(xiàn)自己的文件系統(tǒng)而是利用操作系統(tǒng) 的文件系統(tǒng)來管理文件。可以將 storage 稱為存儲服務(wù)器。
服務(wù)端兩個角色: Tracker:管理集群,tracker 也可以實現(xiàn)集群。每個 tracker 節(jié)點地位平等。收集 Storage 集群的狀態(tài)。 Storage:實際保存文件 Storage 分為多個組,每個組之間保存的文件是不同的。每 個組內(nèi)部可以有多個成員,組成員內(nèi)部保存的內(nèi)容是一樣的,組成員的地位是一致的,沒有 主從的概念。
group1/M00/00/00/rBAABVzRPC-AJVSQAAHqEHLGutU563.jpg
組名:文件上傳后所在的 storage 組名稱,在文件上傳成功后有 storage 服務(wù)器返回, 需要客戶端自行保存。
虛擬磁盤路徑:storage 配置的虛擬路徑,與磁盤選項 store_path*對應(yīng)。如果配置了 store_path0 則是 M00,如果配置了 store_path1 則是 M01,以此類推。
數(shù)據(jù)兩級目錄:storage 服務(wù)器在每個虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數(shù)據(jù) 文件。
文件名:與文件上傳時不同。是由存儲服務(wù)器根據(jù)特定信息生成,文件名包含:源存儲 服務(wù)器 IP 地址、文件創(chuàng)建時間戳、文件大小、隨機數(shù)和文件拓展名等信息。
如下提供FastDFS和相應(yīng)的Nginx模塊的下載地址
下載地址 提取碼:nw6t
解壓縮libfastcommon-master.zip
進入到libfastcommon-master的目錄中
執(zhí)行 ./make.sh
執(zhí)行 sudo ./make.sh install
解壓縮fastdfs-master.zip
進入到 fastdfs-master目錄中
執(zhí)行 ./make.sh
執(zhí)行sudo ./make.sh install
sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
在/home/python/目錄中創(chuàng)建目錄 fastdfs/tracker
編輯/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf 修改 base_path=/home/python/fastdfs/tracker
sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
在/home/python/fastdfs/ 目錄中創(chuàng)建目錄 storage
編輯/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf 修改內(nèi)容: base_path=/home/python/fastdfs/storage store_path0=/home/python/fastdfs/storage tracker_server=自己ubuntu虛擬機的ip地址:22122
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
編輯/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf 修改內(nèi)容: base_path=/home/python/fastdfs/tracker tracker_server=自己ubuntu虛擬機的ip地址:22122
上傳文件測試: fdfs_upload_file /etc/fdfs/client.conf 要上傳的圖片文件 如果返回類似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id則說明文件上傳成功
首先安裝一下nginx的依賴庫
安裝gcc g++的依賴庫
sudo apt-get install build-essential sudo apt-get install libtool
安裝pcre依賴庫(www.pcre.org/)
sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev
安裝zlib依賴庫(www.zlib.net)
sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install zlib1g-dev
安裝SSL依賴庫(16.04默認(rèn)已經(jīng)安裝了)
sudo apt-get install openssl
解壓縮 nginx-1.8.1.tar.gz
解壓縮 fastdfs-nginx-module-master.zip
進入nginx-1.8.1目錄中
執(zhí)行sudo ./configure --prefix=/usr/local/nginx --add-module=/home/ubuntu/fastdfs-nginx-module-master解壓后的目錄的絕對路徑/src
sudo make sudo make install
sudo cp fastdfs-nginx-module-master解壓后的目錄中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
sudo vim /etc/fdfs/mod_fastdfs.conf 修改內(nèi)容:
connect_timeout=10
tracker_server=自己ubuntu虛擬機的ip地址:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage
sudo cp 解壓縮的fastdfs-master目錄conf目錄中的http.conf /etc/fdfs/http.conf
sudo cp 解壓縮的fastdfs-master目錄conf目錄中的mime.types /etc/fdfs/mime.types
sudo vim /usr/local/nginx/conf/nginx.conf
在http部分中添加配置信息如下:
server { listen 8888; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
11.啟動nginx
sudo /usr/local/nginx/sbin/nginx
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/6870.html
摘要:新建文件夾嘗試啟動為默認(rèn)監(jiān)聽端口看到已經(jīng)在監(jiān)聽端口,說明啟動成功。修改修改為的路徑,我這里為修改為你的監(jiān)聽的和端口號,我這里為保存退出。即為上傳圖片成功 于前不久,公司論壇的圖片終于將服務(wù)器給擠爆了,已經(jīng)達到了恐怖的34G,服務(wù)器總?cè)萘坎?0G。如果直接加硬盤的話,那么discuz中的邏輯幾乎就要全改,所以不行。如果將所有圖片扔到對象存儲的話,那么這會是一大筆支出(雖然錢不是我出),所...
摘要:新建文件夾嘗試啟動為默認(rèn)監(jiān)聽端口看到已經(jīng)在監(jiān)聽端口,說明啟動成功。修改修改為的路徑,我這里為修改為你的監(jiān)聽的和端口號,我這里為保存退出。即為上傳圖片成功 于前不久,公司論壇的圖片終于將服務(wù)器給擠爆了,已經(jīng)達到了恐怖的34G,服務(wù)器總?cè)萘坎?0G。如果直接加硬盤的話,那么discuz中的邏輯幾乎就要全改,所以不行。如果將所有圖片扔到對象存儲的話,那么這會是一大筆支出(雖然錢不是我出),所...
摘要:項目比較老舊,自己修改了一下,跑在上,用的和位系統(tǒng),記錄下來,以后上傳圖片都可以用。是一個開源的輕量級分布式文件系統(tǒng),功能包括文件存儲文件同步文件訪問文件上傳文件下載等。主要的有兩個角色和。 項目比較老舊,自己修改了一下,跑在mac上,用的IDEA和centos7 64位系統(tǒng),記錄下來,以后上傳圖片都可以用。 使用場景:圖片上傳 如果我們把圖片全都放在上傳到webapp路徑下顯然是一種...
摘要:啟動后會連接到告知自己的信息,形成映射關(guān)聯(lián),并采用心跳機制保持狀態(tài)。存儲節(jié)點負(fù)責(zé)文件的存儲,可以集群部署。一個卷組內(nèi)之間相互通信,文件進行同步,保證卷內(nèi)完全一致,所以一個卷的容量以最小的服務(wù)器為準(zhǔn)。 簡介 FastDFS是一個輕量級分布式文件系統(tǒng)??梢詫ξ募M行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,而且可以集群部署,有高可用保障。相應(yīng)的競品有Ceph、T...
閱讀 591·2021-11-15 11:38
閱讀 1174·2021-10-11 10:59
閱讀 3491·2021-09-07 09:58
閱讀 479·2019-08-30 15:44
閱讀 3518·2019-08-28 18:14
閱讀 2599·2019-08-26 13:32
閱讀 3514·2019-08-26 12:23
閱讀 2413·2019-08-26 10:59