分佈式網絡雲盤項目

一、項目介紹

先附上項目Github地址https://github.com/82457097/CloudDisk
這是我在網上找到的一個項目,覺得不錯就模仿着做了一下~
分佈式網絡雲盤,其中分佈式是指的分佈式存儲系統FastDFS,也是一個開源項目,沒有做很深的研究,大概瞭解了一下,可以看我的這篇博客介紹fastDFS分佈式文件系統介紹和安裝;然後在利用ngnix反向代理服務器,接收並處理用戶的請求,其中還使用了FastCGI+spawn-fcgi配合nginx工作;
然後呢還用到了MySQL和Redis數據庫,其中MySQL用於存儲文件的信息,Redis呢主要用於存儲用戶註冊登錄之類的鑑權信息,這一塊我還沒有實現~目前呢只實現了一些基本的文件上傳下載等功能。

二、項目架構

項目架構的話先看一張我扒來的圖吧~不是很清楚。
在這裏插入圖片描述
圖上的內容就是該項目的組網架構,主要工作流程是用戶通過瀏覽器(或者客戶端)發送操作請求到web服務器,也就是由nginx反向代理的web服務器。然後fastCGI+spawn-fcgi模塊創建進程來接收通過web服務器而來的用戶請求,並交由fastDFS文件系統處理,並返回處理後的結果給web服務器,web服務器再將結果展示給用戶。

三、項目準備

該項目需要一個Linux服務器,推薦阿里雲,環境搞壞了可以直接重裝系統,分分鐘就好了,很節約時間,哈哈~
我這裏只列一下需要安裝哪些組件,後面我會把整理好的安裝包全部傳到GitHub裏面~

四、環境搭建

環境搭建這一塊,我之前的文章已經總結好了,按順序一個一個裝就行了~

五、環境測試

搭建好環境之後,就可以測試一下環境是否沒有問題了。

  • 我們要更改一下nginx配置文件測試fastcgi模塊
  • $ cd /usr/local/nginx/conf/
  • $ vim nginx.conf
  • 加一個測試location
location /test {
    fastcgi_pass 127.0.0.1:7890; 	//記住這個端口號7890
    include fastcgi.conf;
}
  • 然後編譯src中的test.c $ gcc test.c -o test.cgi -lfcgi
  • 然後用spawn-fcgi開啓test.cgi $ spawn -a 127.0.0.1 -p 7890 -f ./test.cgi
  • 然後打開網頁的測試一下 在瀏覽器輸入你的服務器IP/test就行,看看web服務器是否會返回消息~
    在這裏插入圖片描述
  • 然後再測試fastdfs-nginx-module模塊參照這個鏈接測試就行

六、文件上傳流程

fastDFS系統文件的上傳下載原理看這篇文章fastDFS分佈式文件系統文件上傳和下載流程
下面這張圖是上傳文件的代碼流程~
在這裏插入圖片描述

七、文件上傳測試

因爲我不會寫前端界面,所以這裏的web界面使用網上找的現成的界面,只需要把它部署到nginx上面就好了,具體設置按照下面修改nginx.conf文件;

//在目錄/usr/local/nginx下創建一個work目錄,然後將zfFile2文件目錄拷貝進去,並在nginx配置文件裏更改location如下~
location / {
    root   work/zyFile2;
    index  demo.html;
}

location /upload {
    fastcgi_pass 127.0.0.1:10003;	//記住端口號 監聽的端口要和配置的一致
    include fastcgi.conf;
}

配置好重啓nginx $ nginx -s reload在瀏覽器輸入ip會得到如下功能界面,在這裏你就可以進行上傳操作了,但是之前你需要把src裏面的upload.cgi程序編譯出來~
然後$ spawn -a 127.0.0.1 -p 10003 -f ./upload.cgi
然後成功的操作就會和下圖一樣~數據庫也能找到相關文件的信息;
在這裏插入圖片描述

八、項目總結

做這個項目還是花了比較長的時間的,目前也只是完成了基本的上傳文件功能,其它功能待進一步開發,都不是什麼大的問題了;前期因爲缺乏經驗。搭環境遇到了無數的坑,但是有些坑踩過了之後,也是一種成長,省的以後在工作中再踩了~總體來說,做這個項目收穫還是比較大的,主要的收穫也不是編碼能力的提升,而是對項目的架構能力,瞭解了一些通用的項目架構框架,瞭解了許多開源組件的性能特點,也知道了如何去選擇合適的組件,針對什麼樣的業務場景,需要注意哪些點。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章