亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Github倉庫

Github介紹: https://github.com/hAppyfish100/fastdfs

Github文檔: https://github.com/happyfish100/fastdfs/wiki

FastDFS介紹

FastDFS 是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)制,并注重高可用、高性能等指標(biāo),使用 FastDFS 很容易搭建一套高性能的文件服務(wù)器集群提供文件上傳、下載等服務(wù)。

FastDFS 架構(gòu)包括 Tracker server 和 Storage server。客戶端請求 Tracker server 進(jìn)行文 件上傳、下載,通過 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 沒有實(shí)現(xiàn)自己的文件系統(tǒng)而是利用操作系統(tǒng) 的文件系統(tǒng)來管理文件。可以將 storage 稱為存儲服務(wù)器。

 

Centos7下FastDFS從安裝到入門

 

 

服務(wù)端兩個角色:

  • Tracker:管理集群,tracker 也可以實(shí)現(xiàn)集群。每個 tracker 節(jié)點(diǎn)地位平等。收集 Storage 集群的狀態(tài)。
  • Storage:實(shí)際保存文件 Storage 分為多個組,每個組之間保存的文件是不同的。每 個組內(nèi)部可以有多個成員,組成員內(nèi)部保存的內(nèi)容是一樣的,組成員的地位是一致的,沒有 主從的概念。

文件上傳流程

 

Centos7下FastDFS從安裝到入門

 

 

客戶端上傳文件后存儲服務(wù)器將文件 ID 返回給客戶端,此文件 ID 用于以后訪問該文 件的索引信息。文件索引信息包括:組名,虛擬磁盤路徑,數(shù)據(jù)兩級目錄,文件名。

group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

  • group1 組名:文件上傳后所在的 storage 組名稱,在文件上傳成功后有 storage 服務(wù)器返回, 需要客戶端自行保存。
  • 虛擬磁盤路徑:storage 配置的虛擬路徑,與磁盤選項(xiàng) store_path*對應(yīng)。如果配置了
  • /M00 : store_path0 則是 M00,如果配置了 store_path1 則是 M01,以此類推。
  • /00/00:數(shù)據(jù)兩級目錄:storage 服務(wù)器在每個虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數(shù)據(jù) 文件。
  • /wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz文件名:與文件上傳時不同。是由存儲服務(wù)器根據(jù)特定信息生成,文件名包含:源存儲 服務(wù)器 IP 地址、文件創(chuàng)建時間戳、文件大小、隨機(jī)數(shù)和文件拓展名等信息。

文件下載流程

 

Centos7下FastDFS從安裝到入門

 

 

FastDFS安裝

使用的系統(tǒng)軟件

名稱說明centos7.xlibfatscommonFastDFS分離出的一些公用函數(shù)包FastDFSFastDFS本體fastdfs-Nginx-moduleFastDFS和nginx的關(guān)聯(lián)模塊nginxnginx1.15.4

編譯環(huán)境

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

磁盤目錄

說明位置所有安裝包/usr/local/src數(shù)據(jù)存儲位置/home/dfs/#這里我為了方便把日志什么的都放到了dfs

#創(chuàng)建數(shù)據(jù)存儲目錄

[root@server01 ~]# mkdir -p /home/dfs

#切換到安裝目錄準(zhǔn)備下載安裝包

[root@server01 ~]# cd /usr/local/src

組件下載與安裝

下面的步驟安裝切換到安裝目錄下cd /usr/local/src進(jìn)行開始。

安裝libfatscommon

git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install #編譯安裝

安裝FastDFS

cd ../ #返回上一級目錄

git clone https://github.com/happyfish100/fastdfs.git --depth 1

cd fastdfs/

./make.sh && ./make.sh install #編譯安裝

#配置文件準(zhǔn)備

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客戶端文件,測試用

cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx訪問使用

cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx訪問使用

安裝fastdfs-nginx-module

cd ../ #返回上一級目錄
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

安裝nginx

wget http://nginx.org/download/nginx-1.15.4.tar.gz #下載nginx壓縮包

tar -zxvf nginx-1.15.4.tar.gz #解壓

cd nginx-1.15.4/

#添加fastdfs-nginx-module模塊

./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/

make && make install #編譯安裝

單機(jī)部署

部署拓?fù)鋱D

 

Centos7下FastDFS從安裝到入門

 

 

按照上面的命令就可用安裝好相應(yīng)的各個組件,那么下面來進(jìn)行單機(jī)部署的配置。

關(guān)閉防火墻

service firewalld stop

tracker服務(wù)

tracker配置

#服務(wù)器ip為 192.168.43.128

vim /etc/fdfs/tracker.conf

#需要修改的內(nèi)容如下

port=22122 # tracker服務(wù)器端口(默認(rèn)22122,一般不修改)

base_path=/home/dfs # 存儲日志和數(shù)據(jù)的根目錄

tracker服務(wù)相關(guān)命令

/etc/init.d/fdfs_trackerd start #啟動tracker服務(wù)
/etc/init.d/fdfs_trackerd restart #重啟動tracker服務(wù)
/etc/init.d/fdfs_trackerd stop #停止tracker服務(wù)
chkconfig fdfs_trackerd on #自啟動tracker服務(wù)

啟動tracker服務(wù)

[root@server01 src]# /etc/init.d/fdfs_trackerd start
Reloading systemd: [ OK ]
Starting fdfs_trackerd (via systemctl): [ OK ]
[root@server01 src]# 

storage服務(wù)

storage配置

vim /etc/fdfs/storage.conf

#需要修改的內(nèi)容如下

port=23000 # storage服務(wù)端口(默認(rèn)23000,一般不修改)

base_path=/home/dfs # 數(shù)據(jù)和日志文件存儲根目錄

store_path0=/home/dfs # 第一個存儲目錄

tracker_server=192.168.43.128:22122 # tracker服務(wù)器IP和端口

http.server_port=8888 # http訪問文件的端口(默認(rèn)8888,看情況修改,和nginx中保持一致)

啟動storage服務(wù)相關(guān)命令

/etc/init.d/fdfs_storaged start #啟動storage服務(wù)
/etc/init.d/fdfs_storaged restart #重動storage服務(wù)
/etc/init.d/fdfs_storaged stop #停止動storage服務(wù)
chkconfig fdfs_storaged on #自啟動storage服務(wù)

啟動storage服務(wù)

[root@server01 src]# /etc/init.d/fdfs_storaged start
Starting fdfs_storaged (via systemctl): [ OK ]
[root@server01 src]# 

client測試上傳文件

vim /etc/fdfs/client.conf
#需要修改的內(nèi)容如下
base_path=/home/dfs
tracker_server=192.168.43.128:22122 #tracker服務(wù)器IP和端口
#保存后測試,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

執(zhí)行如下:

 

Centos7下FastDFS從安裝到入門

 

 


nginx服務(wù)

配置nginx訪問

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的內(nèi)容如下
tracker_server=192.168.43.128:22122 #tracker服務(wù)器IP和端口
url_have_group_name=true
store_path0=/home/dfs
#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
 listen 8888; ## 該端口為storage.conf中的http.server_port相同
 server_name localhost;
 location ~/group[0-9]/ {
 ngx_fastdfs_module;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
}
# 啟動nginx服務(wù)
/usr/local/nginx/sbin/nginx #啟動nginx
/usr/local/nginx/sbin/nginx -s reload #重啟nginx
#測試下載
wget http://192.168.43.128:8888/group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

啟動nginx服務(wù)以及測試下載文件

[root@server01 src]# /usr/local/nginx/sbin/nginx

ngx_http_fastdfs_set pid=4818

[root@server01 src]# wget http://192.168.43.128:8888/group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

--2019-08-12 14:03:36-- http://192.168.43.128:8888/group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

Connecting to 192.168.43.128:8888... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1024694 (1001K) [application/octet-stream]

Saving to: ‘wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz’

100%[=================================================================================================================================>] 1,024,694 --.-K/s in 0.02s

2019-08-12 14:03:36 (40.9 MB/s) - ‘wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz’ saved [1024694/1024694]

[root@server01 src]#

[root@server01 src]# ls

fastdfs fastdfs-nginx-module libfastcommon nginx-1.15.4 nginx-1.15.4.tar.gz wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

[root@server01 src]#

可用看到已經(jīng)下載成功,F(xiàn)astDFS的單機(jī)部署已完成。

分布式部署

分布式部署拓?fù)?/strong>

 

Centos7下FastDFS從安裝到入門

 

 

分別在兩臺服務(wù)器都安裝上Tacker以及Storage服務(wù),在第一臺服務(wù)安裝Nginx進(jìn)行下載服務(wù)的反向代理。

按照前面的步驟對兩臺服務(wù)器進(jìn)行安裝,安裝完畢之后,下面來進(jìn)行分布式配置。

tracker配置

配置每臺服務(wù)器的tracker配置,都按照以下配置進(jìn)行。

#服務(wù)器ip為 192.168.196.132,192.168.196.133
vim /etc/fdfs/tracker.conf
#需要修改的內(nèi)容如下
port=22122 # tracker服務(wù)器端口(默認(rèn)22122,一般不修改)
base_path=/home/dfs # 存儲日志和數(shù)據(jù)的根目錄
# 啟動服務(wù)
/etc/init.d/fdfs_trackerd start

storage配置

配置每臺服務(wù)器的storage配置,都按照以下配置進(jìn)行。

vim /etc/fdfs/storage.conf
#需要修改的內(nèi)容如下
port=23000 # storage服務(wù)端口(默認(rèn)23000,一般不修改)
base_path=/home/dfs # 數(shù)據(jù)和日志文件存儲根目錄
store_path0=/home/dfs # 第一個存儲目錄
tracker_server=192.168.196.132:22122 # 服務(wù)器1
tracker_server=192.168.196.133:22122 # 服務(wù)器2
http.server_port=8888 # http訪問文件的端口(默認(rèn)8888,看情況修改,和nginx中保持一致)
# 啟動服務(wù)
/etc/init.d/fdfs_storaged start

client測試上傳文件

兩臺服務(wù)器都配置一個client進(jìn)行測試。

vim /etc/fdfs/client.conf

#需要修改的內(nèi)容如下

base_path=/home/dfs

tracker_server=192.168.196.132:22122 # 服務(wù)器1

tracker_server=192.168.196.133:22122 # 服務(wù)器2

#保存后測試,返回ID表示成功

fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

執(zhí)行上傳文件的返回結(jié)果:

[root@centos7-server02 nginx-1.15.4]# fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz
group1/M00/00/00/wKjEhF1SQHKAEN6aAA-itrfn0m4.tar.gz
[root@centos7-server02 nginx-1.15.4]# 
[root@server03 src]# fdfs_upload_file /etc/fdfs/client.conf 1.txt 
group1/M00/00/00/wKjEhV1SQLCAbAWtAAAABFqC_Qg891.txt
[root@server03 src]# 

配置nginx訪問

在其中一臺配置nginx即可,如果要做負(fù)載均衡,可用兩臺都配置nginx,然后F5或者h(yuǎn)aproxy負(fù)載均衡。

vim /etc/fdfs/mod_fastdfs.conf

#需要修改的內(nèi)容如下

tracker_server=192.168.196.132:22122 # 服務(wù)器1

tracker_server=192.168.196.133:22122 # 服務(wù)器2

url_have_group_name=true

store_path0=/home/dfs

#配置nginx.config

vim /usr/local/nginx/conf/nginx.conf

#在上方添加如下配置

server {

listen 8888; ## 該端口為storage.conf中的http.server_port相同

server_name localhost;

location ~/group[0-9]/ {

ngx_fastdfs_module;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

# 啟動nginx服務(wù)

/usr/local/nginx/sbin/nginx #啟動nginx

/usr/local/nginx/sbin/nginx -s reload #重啟nginx

測試通過nginx下載文件

wget http://192.168.196.132:8888/group1/M00/00/00/wKjEhF1SQHKAEN6aAA-itrfn0m4.tar.gz
wget http://192.168.196.132:8888/group1/M00/00/00/wKjEhV1SQLCAbAWtAAAABFqC_Qg891.txt

這是剛才測試上傳的兩個文件,通過nginx的8888端口 + File ID進(jìn)行下載,下載成功則安裝完成。

檢測集群

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

# 會顯示會有幾臺服務(wù)器 有2臺就會 顯示 Storage 1-Storage 2的詳細(xì)信息

相關(guān)說明

配置文件

tracker_server #有幾臺服務(wù)器寫幾個
group_name #地址的名稱的命名
bind_addr #服務(wù)器ip綁定
store_path_count #store_path(數(shù)字)有幾個寫幾個
store_path(數(shù)字) #設(shè)置幾個儲存地址寫幾個 從0開始

可能遇到的問題

如果不是root 用戶 你必須在除了cd的命令之外 全部加sudo
如果不是root 用戶 編譯和安裝分開進(jìn)行 先編譯再安裝
如果上傳成功 但是nginx報錯404 先檢查mod_fastdfs.conf文件中的store_path0是否一致
如果nginx無法訪問 先檢查防火墻 和 mod_fastdfs.conf文件tracker_server是否一致
如果不是在/usr/local/src文件夾下安裝 可能會編譯出錯

轉(zhuǎn)載自:https://www.jianshu.com/p/b12acdedd30f

分享到:
標(biāo)簽:Centos7 FastDFS
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定