簡單的 FastDFS + Nginx 應用例項
本文來自作者 only you 在 GitChat 上分享 「FastDFS + Nginx(單點部署)應用例項」
編輯 | 哈比
現在流行框架設計簡述
在網際網路大行其道的今天。各種分散式系統已經司空見慣。
搜尋引擎、電商站點、微博、微信、O2O 平臺,凡是涉及到大規模使用者、高併發訪問的,無一不是分散式。
關於分散式系統,並沒有一個標準答案,說某某架構一定是最好的。
不同的業務形態所面對的挑戰不一樣,使用的架構設計也不一樣,通常都須要詳細業務詳細分析。
水平擴充套件和垂直拆分是分散式架構的兩種思路,但並非一個二選一的問題,很多其它的是兼併合用。以下介紹一個實際的場景。這也是很多網際網路的公司架構思路。
檔案server的誕生和應用背景
現現在非常多的系統中,須要儲存過多的圖片、視訊等資料,檔案儲存、檔案同步、檔案訪問(檔案上傳、檔案下載)等這些問題就出來了。
怎麼攻克了大容量儲存和負載均衡的問題?對以檔案為載體的線上服務,如相簿站點、視訊站點等,檔案server就起到了支撐的作用。
FastDFS 檔案server的誕生背景和應用意義
FastDFS 是一個開源的輕量級分散式檔案系統。
在一個分享的磁碟檔案系統中,全部節點對資料儲存區塊都有同樣的訪問權,在這種系統中。訪問許可權就必須由客戶端程式來控制。
分散式檔案系統可能包括的功能有透通的資料複製與容錯。
分散式檔案系統是被設計用在區域網。而分散式資料儲存,則是泛指為應用分散式運算技術的檔案和資料庫等提供資料儲存服務的系統。
接下來。我們就搭建 FastDFS 檔案server,體驗它的強大之處。
FastDFS 檔案server搭建
搭建好開發環境介紹
本人測試環境為 Centos7 系統,一臺 192.168.229.128 作為 tracker,一臺 192.168.229.129 作為 storage。
安裝步驟
安裝依賴環境
安裝命令例如以下。
yum install make cmake gcc gcc-c++
安裝公共安裝包 libfastcommon
網上下載該包放到安裝資料夾下,我的安裝資料夾是 /usr/local/software,大家依據自己的習慣自定義。
解壓該安裝包到 /usr/local/fast 資料夾下。
解壓命令例如以下。
unzip libfastcommon-mastar.zip –d /usr/local/fast
進入解壓資料夾下,例如以下圖所看到的。
進行編譯和安裝
編譯命令例如以下。
./make.sh
安裝命令例如以下。
./make.sh install
執行過程。例如以下圖所看到的。
進行軟體建立
FastDFS 主程式設定的資料夾為 /usr/local/lib/,所以我們須要建立 /usr/lib64/ 下的一些核心執行程式的軟連線檔案。
建立我們自己的 lib 資料夾,命令例如以下。
mkdir /usr/local/lib/
建立以下的軟連線。命令分別為:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
執行介面例如以下圖所看到的。
安裝 FastDFS 主程式
首先須要自己到網上下載 FastDFS 安裝包。
在這裡,我用的是 5.05 版本號的。
把我們從網上下載下來的 FastDFS_v5.05.tar.gz 進行解壓到 /usr/local/fast/ 下。使用到的命令例如以下。
cd /usr/local/software tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
進入解壓資料夾進行編譯安裝
進入解壓資料夾,命令例如以下。
cd /usr/local/fast/FastDFS/
編譯命令例如以下。
./make.sh
安裝命令例如以下
./make.sh install
執行介面例如以下圖所看到的。
中間沒有不論什麼的 error 字樣,說明成功安裝。
相關指令碼說明
安裝完畢後。服務指令碼在以下資料夾中。
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
配置檔案在以下資料夾中。
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
以下這張圖顯示了服務指令碼的資料夾和檔案列表。
下圖顯示了在配置檔案資料夾下備份的預設配置檔案。
由於 FastDFS 服務指令碼設定的 bin 資料夾為 /usr/local/bin/,可是實際我們安裝在了 /usr/bin/ 以下。所以我們須要改動 FastDFS 配置檔案裡的路徑。也就是須要改動兩個配置檔案。命令例如以下。
vim /etc/init.d/fdfs_storaged %s+/usr/local/bin+/usr/bin // 進行全域性替換命令
vim /etc/init.d/fdfs_trackerd %s+/usr/local/bin+/usr/bin// 進行全域性替換命令
配置跟蹤器
首先我們進入 /etc/fdfs/ 資料夾下。把 tracker.conf.sample 檔案 Cope 一份。
去改動 tracker.conf 檔案。改檔案作為 tracker 啟動配置檔案。
命令例如以下。
vim /etc/fdfs/tracker.conf
改動 tracker 的 basepath 資料夾之後。別忘了建立改資料夾。命令例如以下。
mkdir -p /fastdfs/tracker
到這裡,我們的跟蹤器就能夠啟動了。見下圖。
當然在這個之前要關閉防火牆操作。
有二個確定的字樣,說明了啟動成功。
掃描下方二維碼
閱讀完整原文
並與作者交流