日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

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

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

Github倉(cāng)庫(kù)

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

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

FastDFS介紹

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

FastDFS 架構(gòu)包括 Tracker server 和 Storage server。客戶端請(qǐng)求 Tracker server 進(jìn)行文 件上傳、下載,通過(guò) Tracker server 調(diào)度最終由 Storage server 完成文件上傳和下載。

Tracker server 作用是負(fù)載均衡和調(diào)度,通過(guò) Tracker server 在文件上傳時(shí)可以根據(jù)一些 策略找到 Storage server 提供文件上傳服務(wù)。可以將 tracker 稱為追蹤服務(wù)器或調(diào)度服務(wù) 器。

Storage server 作用是文件存儲(chǔ),客戶端上傳的文件最終存儲(chǔ)在 Storage 服務(wù)器上, Storageserver 沒(méi)有實(shí)現(xiàn)自己的文件系統(tǒng)而是利用操作系統(tǒng) 的文件系統(tǒng)來(lái)管理文件。可以將 storage 稱為存儲(chǔ)服務(wù)器。

 

Centos7下FastDFS從安裝到入門

 

 

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

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

文件上傳流程

 

Centos7下FastDFS從安裝到入門

 

 

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

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

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

文件下載流程

 

Centos7下FastDFS從安裝到入門

 

 

FastDFS安裝

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

名稱說(shuō)明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

磁盤目錄

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

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

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

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

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

組件下載與安裝

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

安裝libfatscommon

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

安裝FastDFS

cd ../ #返回上一級(jí)目錄

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 #客戶端文件,測(cè)試用

cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx訪問(wèn)使用

cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx訪問(wèn)使用

安裝fastdfs-nginx-module

cd ../ #返回上一級(jí)目錄
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)的各個(gè)組件,那么下面來(lái)進(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 # 存儲(chǔ)日志和數(shù)據(jù)的根目錄

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

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

啟動(dòng)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ù)和日志文件存儲(chǔ)根目錄

store_path0=/home/dfs # 第一個(gè)存儲(chǔ)目錄

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

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

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

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

啟動(dòng)storage服務(wù)

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

client測(cè)試上傳文件

vim /etc/fdfs/client.conf
#需要修改的內(nèi)容如下
base_path=/home/dfs
tracker_server=192.168.43.128:22122 #tracker服務(wù)器IP和端口
#保存后測(cè)試,返回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訪問(wèn)

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;
 }
}
# 啟動(dòng)nginx服務(wù)
/usr/local/nginx/sbin/nginx #啟動(dòng)nginx
/usr/local/nginx/sbin/nginx -s reload #重啟nginx
#測(cè)試下載
wget http://192.168.43.128:8888/group1/M00/00/00/wKgrgF1Rp8uAeU2IAA-itrfn0m4.tar.gz

啟動(dòng)nginx服務(wù)以及測(cè)試下載文件

[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從安裝到入門

 

 

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

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

tracker配置

配置每臺(tái)服務(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 # 存儲(chǔ)日志和數(shù)據(jù)的根目錄
# 啟動(dòng)服務(wù)
/etc/init.d/fdfs_trackerd start

storage配置

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

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

client測(cè)試上傳文件

兩臺(tái)服務(wù)器都配置一個(gè)client進(jìn)行測(cè)試。

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

#保存后測(cè)試,返回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訪問(wèn)

在其中一臺(tái)配置nginx即可,如果要做負(fù)載均衡,可用兩臺(tái)都配置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;

}

}

# 啟動(dòng)nginx服務(wù)

/usr/local/nginx/sbin/nginx #啟動(dòng)nginx

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

測(cè)試通過(guò)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

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

檢測(cè)集群

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

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

相關(guān)說(shuō)明

配置文件

tracker_server #有幾臺(tái)服務(wù)器寫(xiě)幾個(gè)
group_name #地址的名稱的命名
bind_addr #服務(wù)器ip綁定
store_path_count #store_path(數(shù)字)有幾個(gè)寫(xiě)幾個(gè)
store_path(數(shù)字) #設(shè)置幾個(gè)儲(chǔ)存地址寫(xiě)幾個(gè) 從0開(kāi)始

可能遇到的問(wèn)題

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

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

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

網(wǎng)友整理

注冊(cè)時(shí)間:

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

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

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

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

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

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

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

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定