国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Docker中搭建FastDFS文件系統(多圖教程)

發(fā)布時(shí)間:2021-08-15 18:37 來(lái)源: 閱讀:0 作者:niceyoo 欄目: 服務(wù)器 歡迎投稿:712375056

目錄

      關(guān)于FastDFS

      FastDFS 是以 C 語(yǔ)言開(kāi)發(fā)的一項開(kāi)源輕量級分布式文件系統,他對文件進(jìn)行管理,主要功能有:文件存儲,文件同步,文件訪(fǎng)問(wèn)(文件上傳/下載)等,特別適合以文件為載體的在線(xiàn)服務(wù),如:圖片網(wǎng)站,視頻網(wǎng)站等。

      外話(huà):FastDFS 是阿里余慶大神做的一個(gè)個(gè)人項目,從2008年研發(fā)FastDFS開(kāi)源至今,在一些互聯(lián)網(wǎng)創(chuàng )業(yè)公司中備受推崇,GitHub開(kāi)源地址:

      本文基于,以下是正文內容:

      1、搜索鏡像

      執行命令:

      docker search fastdfs

      然后界面會(huì )搜出一大堆鏡像,選哪個(gè)呢?

      老規矩,我們選擇start數最多的準沒(méi)錯,什么?start數不放心,怕被掛馬?ok,我們再去看一下:

      補充: 其實(shí)看這些鏡像的描述也能看出一些區別來(lái)的,比如 ygqygq2/fastdfs-nginx,該鏡像是整合了 Nginx 的 fastdfs,那么新的問(wèn)題來(lái)了,為什么要整合 Nginx?因為對于 fastdfs 來(lái)說(shuō),安裝后只能在本機訪(fǎng)問(wèn)… 我上傳文件肯定是為了能夠訪(fǎng)問(wèn)的呀,所以為了提供 web 訪(fǎng)問(wèn),那么就需要集成 Nginx 了,但是比如就是想自己?jiǎn)为毟?Nginx… 那么肯定就不會(huì )選了嘛,season/fastdfs 鏡像相對純凈些,本文就是基于 season/fastdfs 鏡像的,后面也附帶配置 Nginx…

      2、安裝鏡像

      執行命令:

      docker pull season/fastdfs:1.2

      之所以選擇 1.2 版本,防止再次更新后本文不適合 latest 版本,執行截圖如下:

      3、

      創(chuàng )建容器并掛載目錄

      在創(chuàng )建容器之前我們先簡(jiǎn)單說(shuō)一下 FastDFS,FastDFS 系統有三個(gè)角色:

      • 跟蹤服務(wù)器(Tracker Server):跟蹤服務(wù)器,主要做調度工作,起到均衡的作用;負責管理所有的 storage server和 group,每個(gè) storage 在啟動(dòng)后會(huì )連接 Tracker,告知自己所屬 group 等信息,并保持周期性心跳。
      • 存儲服務(wù)器(Storage Server):存儲服務(wù)器,主要提供容量和備份服務(wù);以 group 為單位,每個(gè) group 內可以有多臺 storage server,數據互為備份。
      • 客戶(hù)端(Client):上傳下載數據的服務(wù)器,也就是我們自己的項目所部署在的服務(wù)器。

      說(shuō)到這就是想告訴小伙伴,接下來(lái)我們可能創(chuàng )建 跟蹤服務(wù)器容器、存儲服務(wù)器容器、客戶(hù)端容器 這三個(gè)容器…

      3.1、創(chuàng )建出所需要的目錄

      我們先把需要的一些目錄創(chuàng )建出來(lái)(數據目錄、數據存儲目錄等),執行命令:

      mkdir -p /usr/local/server/fastdfs/tracker/data
      mkdir -p /usr/local/server/fastdfs/storage/data
      mkdir -p /usr/local/server/fastdfs/storage/path

      3.2、創(chuàng )建tracker容器(跟蹤服務(wù)器容器)

      執行命令:

      docker run -id --name tracker \
      -p 22122:22122 \
      --restart=always --net host \
      -v /usr/local/server/fastdfs/tracker/data:/fastdfs/tracker/data \
      season/fastdfs:1.2 tracker

      再?lài)Z叨一下上方命令:

      • -d:讓容器在后臺運行
      • -p:指定容器內部使用的網(wǎng)絡(luò )端口映射到我們使用的主機
      • --name:指定容器創(chuàng )建的名稱(chēng)
      • -v:容器跟宿主機之間的掛載目錄

      3.3、創(chuàng )建storage容器(存儲服務(wù)器容器)

      執行命令(非最終執行命令,請修改為自己的ip地址):

      docker run -id --name storage \
      --restart=always --net host \
      -v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \
      -e TRACKER_SERVER="10.211.55.4:22122" \
      season/fastdfs:1.2 storage

      3.4、client測試

      兩個(gè)容器創(chuàng )建完之后,但此時(shí)兩個(gè)容器其實(shí)并沒(méi)有關(guān)聯(lián)起來(lái),我們進(jìn)入tracker容器,通過(guò)client.conf測試一下:

      docker exec -it tracker bash
      cd /etc/fdfs/
      ls
      cat client.conf

      輸出的 client.conf 都是默認配置,我們可以找到其中的 track_server 地址:

      嘗試執行一下連接:

      fdfs_monitor client.conf

      然后會(huì )得到如下內容:

      ERROR - file: ../common/connection_pool.c, line: 84, connect to 192.168.209.121:22122 fail, errno: 110, error info: Connection timed out

      也就是在沒(méi)有修改client配置之前,默認 tracker 是去連接 192.168.209.121 地址的,那么接下來(lái)就是需要去配置client配置文件了。

      3.4、修改client.conf配置文件

      通過(guò) docker exec -it tracker bash 進(jìn)入 tracker 容器后不能使用 vi vim 命令,所以干脆將 client.conf 配置文件復制出來(lái),在宿主機修改完再粘貼回去。

      執行命令:

      docker cp trakcer:/etc/fdfs/client.conf /usr/local/server/fastdfs/

      我們通過(guò) docker 指令將配置文件復制到 /usr/local/server/fastdfs/ 目錄。

      我們編輯這個(gè)文件,修改 tracker_url 地址(vi client.conf):

      修改后保存,然后將修改后的文件替換回去。指令命令:

      docker cp /usr/local/server/fastdfs/client.conf tracker:/etc/fdfs 

      至此,配置文件修改完了,接下來(lái)我們創(chuàng )建文件上傳測試一下。

      4、文件上傳測試

      執行命令,進(jìn)入 tracker 容器中:

      docker exec -it tracker bash

      隨便創(chuàng )建一個(gè) txt 文件:

      echo "niceyoo" > niceyoo.txt

      然后通過(guò) fdfs_upload_file 命令將 niceyoo.txt 文件上傳至服務(wù)器:

      fdfs_upload_file /etc/fdfs/client.conf niceyoo.txt

      如果此時(shí)報了如下錯誤:

      那么就創(chuàng )建一下這個(gè)路徑,沒(méi)有的跳過(guò):

      mkdir -p /home/yuqing/fastdfs

      創(chuàng )建目錄后重新嘗試提交:

      我們復制出這個(gè)文件名來(lái):group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,這個(gè)名稱(chēng)后面有用,將用作后面配置nginx時(shí)配置訪(fǎng)問(wèn)文件路徑。

      因為我們之前掛載了宿主機的目錄,我們去 cd /usr/local/server/fastdfs 看一下:

      cd /usr/local/server/fastdfs/data/storage/data
      ls

      輸出內容如下:

      5、配置Nginx

      前面的補充已經(jīng)提到了,默認上傳的文件是只能在本機訪(fǎng)問(wèn)的,當然這樣肯定是不行的,所以我們需要配置一下Nginx 來(lái)幫我們實(shí)現 Web 訪(fǎng)問(wèn)的效果。

      創(chuàng )建nginx目錄:

      mkdir -p /usr/local/server/fastdfs/nginx/

      將storage容器中的nginx配置文件復制出來(lái):

      docker cp storage:/etc/nginx/conf/nginx.conf /usr/local/server/fastdfs/nginx/

      修改nginx中的配置:

      vi /usr/local/server/fastdfs/nginx/nginx.conf

      找到local節點(diǎn),修改為:

       location / {
          root /fastdfs/store_path/data;
          ngx_fastdfs_module;
       }

      相關(guān)截圖如下:

      接下來(lái)就是創(chuàng )建nginx容器,并指向剛剛的配置文件了。

      沒(méi)有安裝過(guò)nginx的小伙伴同樣可以執行如下指令,默認會(huì )幫你拉取鏡像然后安裝的。

      注意:請修改ip地址后再執行

      docker run -id --name fastdfs_nginx \
      --restart=always \
      -v /usr/local/server/fastdfs/data/storage:/fastdfs/store_path \
      -v /usr/local/server/fastdfs/nginx/nginx.conf:/etc/nginx/conf/nginx.conf \
      -p 8888:80 \
      -e TRACKER_SERVER=10.211.55.4:22122 \
      season/fastdfs:1.2 nginx

      至此,我們查看一下目前創(chuàng )建以及啟動(dòng)的容器:

      我們測試一下之前上傳的文件 group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt,執行如下命令:

      curl -i http://127.0.0.1:8888/group1/M00/00/00/CtM3BF84iz2AWE_JAAAACBfWGpM793.txt

      執行結果:

      至此,整個(gè)過(guò)程就搭建成功了,我們通過(guò)瀏覽器訪(fǎng)問(wèn)一下:

      搭建完成怎么在項目當中使用呢?

      到此這篇關(guān)于Docker中搭建FastDFS文件系統(多圖教程)的文章就介紹到這了,更多相關(guān)Docker搭建FastDFS內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

      免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

      手机看片久久国产免费| 色噜噜AV男人的天堂| 4444亚洲人成无码网在线观看| 欧美激情综合亚洲一二区| 色欲人妻综合AAAAA网 | 亚洲中文无码AV永久|