您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關FastDFS如何安裝和配置整合Nginx-1.13.3,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
一:下載FastDFS
我們一共需要三個文件
1.FastDFS 分布式文件存儲系統 下載地址:https://codeload.github.com/happyfish200/fastdfs-client-java/zip/master
2.libfastcommon FastDFS函數庫 下載地址: https://codeload.github.com/happyfish200/libfastcommon/zip/master
3.fastdfs-nginx-module 連接Nginx功能模塊 下載地址: https://codeload.github.com/happyfish200/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存儲的文件。
關于“FastDFS如何安裝和配置整合Nginx-1.13.3”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。