真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Fastdfs架構(gòu)-創(chuàng)新互聯(lián)

1、 Fastdfs介紹
Fastdfs是用c語言編寫的一個(gè)開源的輕量級(jí)分布式文件系統(tǒng),它對(duì)文件進(jìn)程管理,功能包括: 文件存儲(chǔ),文件同步,文件訪問(文件上傳、文件下載)等,解決了大容量存儲(chǔ)和負(fù)載均衡的問題,特別適合以文件為載體的在線服務(wù),如相冊(cè)網(wǎng)站,視頻網(wǎng)站等等
Fastdfs為互聯(lián)網(wǎng)量身定制,充分考慮了冗余備份,負(fù)載均衡,線性擴(kuò)容等,并注重高可用,高性能等指標(biāo),使用fastdfs很容易搭建一套高性能的文件服務(wù)器集群提供文件上傳、下載服務(wù)
2、Fastdfs架構(gòu)
Fastdfs架構(gòu)包括Tracker server和Storage server
客戶端請(qǐng)求Tracker server進(jìn)行文件上傳、下載,通過Tracker server調(diào)度最終由 Storage server完成文件上傳和下載
Tracker server作用是負(fù)載均衡和調(diào)度,通過Tracker server在文件上傳時(shí)可以根據(jù)一些策略找到Storage server 提供文件上傳服務(wù),可以講tracker成為追蹤服務(wù)器或調(diào)度服務(wù)器
Storage server作為是文件存儲(chǔ),客戶端上傳的文件最終存儲(chǔ)在storage服務(wù)器上,Storage server 沒有實(shí)現(xiàn)自己的文件系統(tǒng)而是利用操作系統(tǒng)的文件系統(tǒng)來管理文件,可以講storage成為存儲(chǔ)服務(wù)器
Fastdfs架構(gòu)

在即墨等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),即墨網(wǎng)站建設(shè)費(fèi)用合理。

3、FastDFS 系統(tǒng)有三個(gè)角色:跟蹤服務(wù)器(Tracker Server)、存儲(chǔ)服務(wù)器(Storage Server)和客戶端(Client)。
? Tracker Server: 跟蹤服務(wù)器,主要做調(diào)度工作,起到均衡的作用;負(fù)責(zé)管理所有的 storage server和 group,每個(gè) storage 在啟動(dòng)后會(huì)連接 Tracker,告知自己所屬 group 等信息,并保持周期性心跳。
? Storage Server:存儲(chǔ)服務(wù)器,主要提供容量和備份服務(wù);以 group 為單位,每個(gè) group 內(nèi)可以有多臺(tái) storage server,數(shù)據(jù)互為備份。
? Client:客戶端,上傳下載數(shù)據(jù)的服務(wù)器,也就是我們自己的項(xiàng)目所部署在的服務(wù)器。
4、Fastdfs原理
關(guān)于模塊:跟蹤服務(wù)器和存儲(chǔ)節(jié)點(diǎn)都可以由一臺(tái)或多臺(tái)服務(wù)器構(gòu)成,跟蹤服務(wù)器和存儲(chǔ)節(jié)點(diǎn)均可以隨時(shí)增加或者下線不會(huì)影響線上服務(wù),其中跟蹤服務(wù)器中所有服務(wù)器是對(duì) 等,可以根據(jù)服務(wù)器壓力情況隨時(shí)增加或減少
5、文件上傳流程
Storage server會(huì)連接集群中所有的Tracker server,定時(shí)向他們報(bào)告自己的狀態(tài),包括磁盤剩余空間、文件同步狀況、文件上傳下載次數(shù)等統(tǒng)計(jì)信息。
關(guān)于上傳
Fastdfs架構(gòu)**
文件索引信息包括:組名,虛擬磁盤路徑,數(shù)據(jù)兩級(jí)目錄,文件名。
n 組名:文件上傳后所在的storage組名稱,在文件上傳成功后有storage服務(wù)器返回,需要客戶端自行保存。
n 虛擬磁盤路徑:*storage配置的虛擬路徑,與磁盤選項(xiàng)store_path對(duì)應(yīng)。如果配置了store_path0則是M00,如果配置了store_path2則是M01,以此類推。
n 數(shù)據(jù)兩級(jí)目錄:storage服務(wù)器在每個(gè)虛擬磁盤路徑下創(chuàng)建的兩級(jí)目錄,用于存儲(chǔ)數(shù)據(jù)文件。
n 文件名:與文件上傳時(shí)不同。是由存儲(chǔ)服務(wù)器根據(jù)特定信息生成,文件名包含:源存儲(chǔ)服務(wù)器IP地址、文件創(chuàng)建時(shí)間戳、文件大小、隨機(jī)數(shù)和文件拓展名等信息。


Fastdfs架構(gòu)

client發(fā)送download請(qǐng)求給某個(gè)tracker,必須帶上文件名信息,tracker從文件名中解析出文件的group、大小、創(chuàng)建時(shí)間等信息,然后為該請(qǐng)求選擇一個(gè)storage用來服務(wù)讀請(qǐng)求,由于group內(nèi)的文件同步時(shí)在后臺(tái)是異步的,所以有可能出現(xiàn)在讀的時(shí)候,文件還沒有同步到某些storage server上,為了盡量避免訪問到這樣的storage,tracker按照如下規(guī)則選擇group內(nèi)可讀的storage
文件創(chuàng)建時(shí)間戳-storage被同步到的時(shí)間戳 且(當(dāng)前時(shí)間-文件創(chuàng)建時(shí)間戳)>文件同步大時(shí)間(5分鐘),說明文件創(chuàng)建后,認(rèn)為經(jīng)過大同步時(shí)間后,肯定已經(jīng)同步到其他storage了

6、安裝Fastdfs
192.168.1.10 nginx proxy
192.168.1.20 tracker server1
192.168.1.30 tracker server2
192.168.1.40 storage server group1
192.168.1.50 storage server group2
數(shù)據(jù)存儲(chǔ)位置/storage/fastdfs

一.部署安裝traker server

Fastdfs架構(gòu)
1.安裝編譯環(huán)境,安裝libfastcommon和fastdfs(所有節(jié)點(diǎn))
Libfastcommon 包含了fastdfs運(yùn)行所需的要的一些基礎(chǔ)庫

   17  mkdir /storage/fastdfs -p     (創(chuàng)建數(shù)據(jù)存儲(chǔ)位置)
   20  tar zxf libfastcommon.tar.gz   (解壓lib)
   21  cd libfastcommon/
   22  ./make.sh  && ./make.sh  install  (編譯安裝lib)
   23  cd
   24  tar zxf fastdfs.tar.gz     (解壓fas)
   25  cd fastdfs/ 
   26  ./make.sh  && ./make.sh  install  (編譯安裝 fastdfs)
   27  ls /etc/init.d/

Fastdfs架構(gòu)

  28  cp conf/mime.types  conf/http.conf  /etc/fdfs/
(復(fù)制nginx拓展文件到fdfs)

2.第一臺(tái)編寫一個(gè)腳本 (方便部署traker)

vim  install-fastdfs.sh
#!/bin/bash
mkdir /storage/fastdfs -p
cd /root
tar zxf libfastcommon.tar.gz  
tar zxf fastdfs.tar.gz  
cd /root/libfastcommon/
./make.sh  && ./make.sh  install
cd /root/fastdfs/
./make.sh  && ./make.sh  install
cd /root/fastdfs/
cp conf/mime.types  conf/http.conf  /etc/fdfs/
ls /etc/fdfs
#/etc/fdfs/ 配置文件路徑

3.把腳本和軟件包復(fù)制到其他四臺(tái)主機(jī)
scp root fastdfs.tar.gz libfastcommon.tar.gz install-fastdfs.sh root@192.168.1.20:/root
4.四臺(tái)執(zhí)行一下腳本,查看一下腳本是否執(zhí)行成功
sh install-fastdfs.sh
Fastdfs架構(gòu)

5.配置track(兩臺(tái)都是)

   29   cd /etc/fdfs/
   30     ls
   31     cp tracker.conf.sample  tracker.conf
   32    vim tracker.conf        修改tracker配置文件
bind_addr=192.168.1.20  #監(jiān)聽本機(jī)地址 8
base_path=/storage/fastdfs  #這里寫剛剛創(chuàng)建的數(shù)據(jù)存放的路徑  22
   34  /etc/init.d/fdfs_trackerd  start  啟動(dòng)trackerd
   35  netstat -anpt | grep 22122

Fastdfs架構(gòu)

6.安裝nginx(第一臺(tái))
Fastdfs架構(gòu)

   36  yum -y install pcre-devel openssl-devel  zlib-devel   #安裝nginx依賴包
   35  tar zxf nginx-1.14.0.tar.gz                #解壓nginx   tar包
   37  cd nginx-1.14.0/                        
   38  ./configure  &&  make && make install    #編譯安裝

二.配置storage server服務(wù)器(兩臺(tái)都是)

Fastdfs架構(gòu)
1.安裝nginx (兩臺(tái)都要)

   30  yum -y install pcre-devel openssl-devel   安裝依賴包
   31  tar zxf nginx-1.14.0.tar.gz            解壓nginx包
   32  tar zxf fastdfs-nginx-module.tar.gz    解壓nginx拓展包
   33  cd nginx-1.14.0/
   36  ./configure --add-module=../fastdfs-nginx-module/src && make && make install    編譯安裝

2.配置storage

   38  cd /etc/fdfs/
   39  cp storage.conf.sample  storage.conf
   40  vim storage.conf    修改storage配置文件
group_ name=group1第一臺(tái)storage為group1 第二臺(tái)storage為group2    11
bind_ addr=192.168.1.40
port=23000  #默認(rèn)端口,不做修改
base_ path=/storage/fastdfs/ #數(shù)據(jù)和日志存放的目錄地址   41
store_ path0=/storage/fastdfs/ #第一個(gè)存儲(chǔ)目錄和basr_path路徑相同  110
tracker_ server=192. 168.1.20:22122   119
tracker_ server=192.168.1.30:22122  120
http. server_ port=8888 #http訪問文件的端口  末尾

3.配置nginx拓展配置文件

   43  cd /fastdfs-nginx-module/src/
   44  cp mod_fastdfs.conf  /etc/fdfs/
   45  vim /etc/fdfs/mod_fastdfs.conf

base_path=/storage/fastdfs/    #數(shù)據(jù)和日志存放的目錄地址  10
tracker_server=192.168.1.20:22122       #40
tracker_server=192.168.1.30:22122         #41
storage_server_port=23000      44
group_name=group1  #第二臺(tái)storage組名為group2  47
url_have_group_name = true    #當(dāng)group有多個(gè)的時(shí)候需要改為true,以組名去訪問    53
store_path0=/storage/fastdfs   #第一個(gè)存儲(chǔ)目錄和basr_path路徑相同  62

[group1]         #119去注釋修改或直接添加
group_name=group1
storage_server_port=23000
store_path_count=2
store_path0=/storage/fastdfs
[group2]
group_name=group2
storage_server_port=23000
store_path_count=2
store_path0=/storage/fastdfs

****4.拷貝nginx拓展軟件的配置文件,storage的配置文件,nginx安裝包和nginx拓展包到第二臺(tái)storage主機(jī)(拷貝完之后,按照上面2,3步驟來一遍)

   48  cd /etc/fdfs/
   49  scp mod_fastdfs.conf storage.conf  root@192.168.1.50:/etc/fdfs/
   50  cd
   52  scp fastdfs-nginx-module.tar.gz nginx-1.14.0.tar.gz  root@192.168.1.50:/root/

5.Nginx主配置文件修改 (兩臺(tái)都改)

[root@localhost ~]# vim  /usr/local/nginx/conf/nginx.conf
    在原來的server上添加
    server {
        listen    8888;   
        server_name localhost;
        location ~/group[0-9]/M00/ {
                 ngx_fastdfs_module;   #nginx拓展模塊
        }
}

6、啟動(dòng)服務(wù)
啟動(dòng)storaged server(兩臺(tái)都要啟動(dòng))
[root@localhost fdfs]# /etc/init.d/fdfs_storaged start
Fastdfs架構(gòu)
啟動(dòng)nginx(兩臺(tái)都啟動(dòng))
[root@localhost ~]# /usr/local/nginx/sbin/nginx
Fastdfs架構(gòu)

在track上看一下日志
[root@localhost fdfs]# cd /storage/fastdfs/logs/
[root@localhost logs]# cat trackerd.log

Fastdfs架構(gòu)

測(cè)試一下
Fastdfs架構(gòu)
修改第一臺(tái)的client.conf.sample配置文件

[root@localhost ~]# cd /etc/fdfs/
[root@localhost fdfs]# vim client.conf.sample
base_path=/storage/fastdfs  #10
tracker_server=192.168.1.20:22122   #14
tracker_server=192.168.1.30:22122    #15
上傳一張圖片到storage  (第一臺(tái))
[root@localhost ~]# fdfs_upload_file /etc/fdfs/client.conf.sample  鯨魚.png  (這個(gè)id最好放在一個(gè)文件里方便查找)

Fastdfs架構(gòu)
在storage上查看一下

[root@localhost data]# cd  /storage/fastdfs/data/00/00
[root@localhost 00]# ls

Fastdfs架構(gòu)
瀏覽器訪問一下
http://192.168.1.50:8888/group2/M00/00/00/wKgBMl3cpCWAZGQIADuP0gQAyTs723.png
Fastdfs架構(gòu)
下載并改名剛剛傳上去的圖片
[root@localhost ~]# fdfs_download_file /etc/fdfs/client.conf.sample group2/M00/00/00/wKgBMl3coGKACR1RADuP0gQAyTs874.png xgp.png
Fastdfs架構(gòu)

刪除剛剛上傳的圖片
[root@localhost ~]# fdfs_delete_file /etc/fdfs/client.conf.sample group2/M00/00/00/wKgBMl3coGKACR1RADuP0gQAyTs874.png

三,配置nginx反向代理服務(wù)器 (第一臺(tái))

在http模塊中添加
[root@localhost nginx-1.15.4]# vim /usr/local/nginx/conf/nginx.conf
    upstream fdfs_group1 { #設(shè)置group1的服務(wù)器 20
      server 192.168.1.40:8888 weight=1 max_fails=2 fail_timeout=30s;
    }
    upstream fdfs_group2 {
      server 192.168.1.50:8888 weight=1 max_fails=2 fail_timeout=30s;
    }
#下邊添加兩個(gè)location
        location ~ /group1(/*) {     #48
            proxy_pass http://fdfs_group1;
        }
        location ~ /group2(/*) {
            proxy_pass http://fdfs_group2;
        }

啟動(dòng)nginx

 [root@localhost ~]# /usr/local/nginx/sbin/nginx
[root@localhost ~]# netstat -anpt | grep 80

瀏覽器查看一下,還是用剛剛那個(gè)id(需要重新上傳一下)

[root@localhost ~]# fdfs_upload_file /etc/fdfs/client.conf.sample  鯨魚.png 
group2/M00/00/00/wKgBMl3cpCWAZGQIADuP0gQAyTs723.png

瀏覽器訪問:http://192.168.1.10/group2/M00/00/00/wKgBMl3cpCWAZGQIADuP0gQAyTs723.png
Fastdfs架構(gòu)
Fastdfs架構(gòu)

實(shí)驗(yàn)完畢

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享題目:Fastdfs架構(gòu)-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/dhdjdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部