FastDFS安裝和配置,整合Nginx-1.13.3

目錄:html

  一:下載FastDFS java

  二:安裝FastDFS nginx

  三:配置git

  四:整合Nginx和FastDFSgithub

 

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.vim

上面是摘自開源項目FastDFS分佈式文件系統首頁的描述:高性能分佈式文件系統, 功能包括文件存儲,同步,訪問。同時實現負載均衡等。服務器

 

一:下載FastDFS app

  咱們一共須要三個文件負載均衡

  1.FastDFS  分佈式文件存儲系統  下載地址:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master分佈式

  2.libfastcommon  FastDFS函數庫  下載地址:https://codeload.github.com/happyfish100/libfastcommon/zip/master

  3.fastdfs-nginx-module  鏈接Nginx功能模塊  下載地址: https://codeload.github.com/happyfish100/fastdfs-nginx-module/zip/master

  下載時候請注意,此處下載的格式爲 .zip 並非 tar.gz。之因此如此是由於,在使用fastdfs-nginx-module模塊整合Nginx時候會出錯,緣由是 FastDFS版本必須 >= 5.11才能夠。不然編譯Nginx的時候會報錯。能夠看看模塊的 INSTALL文件,裏面有說明。因爲FastDFS發佈的版本最高只到 5.10,做者尚未將版本更新到5.11.可是github上的代碼已經更新,因此直接下載便可。這裏是做者 GitHub地址

注:解壓zip格式的文件,須要系統已經安裝了 unzip軟件。沒有的可使用命令安裝: yum install zip unzip  

  爲了安裝方便,操做過程當中,能夠切換到root權限進行操做

  下載完成以後,將文件夾上傳到服務器

  

  再次提醒此處的都是zip格式的文件,使用命令 unzip fileName 逐一解壓每一個zip文件。例如:  unzip fastdfs-master 

  下面是解壓後的狀況,由於不喜歡帶master 的後綴,在解壓以後刪除了。可使用命令操做   mv oldFileName newFileName 

 例如: mv fastdfs-master fastdfs 

  

 

二:安裝FastDFS

  1.安裝FastDFS函數庫

  解壓以後,先進入 libfastcommon 目錄   cd libfastcommon 

    編譯文件 ./make.sh 

    安裝:    ./make.sh install 

  安裝完成以後,進入 fastdfs  cd fastdfs 和 libfastcommon 一樣的安裝方式

    編譯文件  ./make.sh 

    安裝:      ./make.sh install  

   安裝完成以後,能夠看到兩個目錄,後面會使用到

  

 

三:配置

  1.配置說明

  配置文件請根據服務器的不一樣,進行不一樣的配置。本文中 Tracker Server, Storage Server 都安裝在一臺服務器上。

 

  2.配置文件目錄

  在安裝完成以後,在 /etc 下會生成一個 fdfs 文件夾,進入fast配置文件目錄 cd /etc/fdfs/ 。能夠看到以 .sample 結尾的示例文件。

  

  爲了方便,使用命令刪除以上全部文件  rm -f * ,而後複製 /fastdfs/conf 目錄內全部文件到 /etc/fdfs 目錄下。

  

注:/fastdfs/conf爲解壓後的fastdfs目錄

  

  3.配置和啓動Tracker Server

  打開 tracker.conf文件  vim ./tracker.conf , 修改base_path路徑改爲你本身的目錄, 端口之類的沒佔用狀況下就不修改了

  

  修改完成以後,嘗試啓動tracker  /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start 

注:base_path路徑須要預先建立, 不然報錯: error info: No such file or directory

  命令執行以後,發現沒有任何反應,接着使用命令 netstat -unltp|grep fdfs ,查看是否啓動

  

  能夠看到Tracker Server 已經在22122端口監聽

 

  4.配置和啓動Storage Server

  接下來修改storage.conf配置文件  vim storage.conf ,打開文件以後一樣的修改base_path路徑,同時修改Tracker Server地址和store_path。端口地址、組名保持不變。

  

  Tracker Server地址:

  

  store_path 地址:

  

注:以上的Tracker Server地址,請設置成服務器對應地址。端口沒修改狀況下,保持默認。

  store_path路徑若是不修改,將沒法啓動Storage Server服務。不會有任何提示,能夠打開 /fastdfs/logs 文件夾下的storaged.log文件,查看錯誤信息。

  OK,修改完成以後,啓動Storage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start ,一樣也是沒有任何反應。接着使用命令  netstat -unltp|grep fdfs看看是否啓動

  

    出現上圖的狀況,說明Tracker Server、Storage Server已經成功啓動。

  

  5.測試上傳服務

  接下來打開client.conf配置文件  vim client.conf ,只須要修改base_path和tracker_server兩個地方便可。

  

  當修改完成以後,試試可否上傳文件,恰好目錄有一張圖片

  

  使用命令將圖片上傳

   /usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg 

  當看到上面一長串的字符,OK 上傳成功了。併成功返回了 圖片地址。到存儲目錄下看看,發現多出了幾張圖片。其中一張圖片和商品圖片地址後綴同樣,那麼文件已經存儲到本地。

  

  雖然返回圖片地址,可是如今的fastDFS已經不支持HTTP協議。在4.0.5版本時候已經移除了 HTTP支持,所以不能直接經過圖片地址訪問。全部咱們經過FastDFS模塊整合Nginx,以提供HTTP服務。

 

四.整合Nginx和FastDFS

  1. 整合模塊

  此處假設你已經安裝過Nginx及其依賴包,若是尚未安裝Nginx能夠看我另外一個文章:CentOS7 安裝Nginx

  整合Nginx不須要安裝FastDFS模塊,在配置Nginx時候將fastdfs-nginx-module模塊添加進去便可。下面先開始配置Nginx,進入Nginx目錄下配置文件

./configure 
--prefix=/opt/nginx 
--with-pcre=/home/mgame/soft/pcre-8.41 
--with-openssl=/home/mgame/soft/openssl-1.1.0f 
--with-zlib=/home/mgame/soft/zlib-1.2.11 
--add-module=/home/mgame/soft/fastdfs-nginx-module/src

    編譯  make 

    安裝  make install 

  在安裝過程若是出現下面的錯誤,那麼請查看模塊中的 INSTALL文件,對FastDFS版本的要求(開頭部分已經說明本文的FastDFS版本必須>= 5.11)。

  error: ‘FDFSHTTPParams’ has no member named ‘support_multi_range’(pContext->range_count > 1 && !g_http_params.support_multi_range)) 

  

  將模塊添加到Nginx並安裝完成以後,進入到Nginx安裝目錄 /opt/nginx/conf 內,打開 nginx.conf配置文件。

   

  注:此處的Nginx目錄,是在配置Nginx時候設置的,請根據各自的設置,打開文件。

   將下面的配置添加到文件中,端口其餘設置不變。

location /group1/M00 {
      ngx_fastdfs_module;
}

  

  注:/group 前面必須有斜線,不然在訪問的時候,根路徑爲Nginx安裝目錄。

  

  2.配置模塊參數

  在設置完成以後, 若是如今直接啓動Nginx那麼會發現,依然沒法經過以前上傳成功的圖片地址訪問。在百思不得其解狀況下,想到了的Nginx不是有個logs文件夾,用於記錄登陸及錯誤信息之類的詳情。

  那麼打開error.log文件看看。OK 找到問題所在了

  

  明晃晃的兩個 ERROR, 第一行說明了錯誤緣由:file /etc/fdfs/mod_fastdfs.conf not exist   在 /etc/fdfs/ 目錄下不存在mod_fastdfs.conf文件。該文件在模塊fastdfs-nginx-module的src目錄內

   既然找到了文件位置,那麼進入到 /fastdfs-nginx-module/src 目錄下,將文件 mod_fastdfs.conf 複製到 /etc/fdfs/ 目錄下  命令: cp mod_fastdfs.conf /etc/fdfs/ 

  操做完成以後,打開剛剛拷貝的mod_fastdfs.conf 配置文件  vim mod_fastdfs.conf ,分別tracker_server、url_have_group_name、store_path0三個屬性的參數

  tracker_server:

  

  url_have_group_name:

  

  注:由於訪問的地址中包含了組名group1,若是生成的地址中不包含組名,能夠不用設置。

  store_path0:

  

  修改完成以後,進入 /opt/nginx/sbin 目錄下,從新啓動Nginx  ./nginx -s reload ,而後訪問下,以前上傳成功後返回的圖片地址吧。

  

  通過配置後,已經可以成功的訪問FastDFS存儲的文件。至此本文的學習筆記到此爲止,但願可以幫到你們。文章不足的地方,請多多指正。

相關文章
相關標籤/搜索