少啰嗦,直接裝
看過上一篇分布式文件系統 - FastDFS 簡單了解一下的朋友應該知道,本次安裝是使用目前余慶老師開源的最新 V5.05 版本,是余慶老師放在 Github 上的,和目前你能在網絡上搜索到的 Google Code 的 V4.06 或更低版本不一樣,而且按照他們的步驟坑很多,我反正被坑了很久。
你只需要記住,這也許是目前 FastDFS 最新最穩定最簡單坑最少的一個配置安裝部署教程了。期間我也會把我踩的坑都放出來,我保證大家照着做就幾乎不會有坑。哈哈...
安裝 libfastcommon 和 FastDFS
1.下載安裝 libfastcommon ,這里是通過wget下載(我喜歡這種方式)。
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

解壓 libfastcommon,命令:
tar -zxvf V1.0.7.tar.gz

編譯,進入libfastcommon-1.0.7目錄,命令:
cd libfastcommon-1.0.7
./make.sh

安裝,命令:
./make.sh install

顯示這樣的畫面,就是安裝 libfastcommon 成功啦。
2.下載安裝 FastDFS,這里也是通過wget下載。
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

解壓 FastDFS ,命令:
tar -zxvf V5.05.tar.gz

編譯,進入fastfds-5.05目錄,命令:
cd fastdfs-5.05
./make.sh

安裝,命令:
./make.sh install

顯示這樣的畫面,就是安裝 FastDFS 成功啦。
配置 Tracker 服務
上述安裝成功后,在/etc/目錄下會有一個fdfs的目錄,進入它。會看到三個.sample后綴的文件,這是作者給我們的示例文件,我們需要把其中的tracker.conf.sample文件改為tracker.conf配置文件並修改它。看命令:
cp tracker.conf.sample tracker.conf
vim tracker.conf

打開tracker.conf文件,只需要找到你只需要該這兩個參數就可以了。
# the base path to store data and log files
base_path=/data/fastdfs
# HTTP port on this tracker server
http.server_port=80
當然前提是你要有或先創建了/data/fastdfs目錄。port=22122這個端口參數不建議修改,除非你已經占用它了。
修改完成保存並退出 vim ,這時候我們可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start來啟動 Tracker服務,但是這個命令不夠優雅,怎么做呢?使用ln -s 建立軟鏈接:
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin

這時候我們就可以使用service fdfs_trackerd start來優雅地啟動 Tracker服務了,是不是比剛才帶目錄的命令好記太多了(懶是社會生產力)。你也可以啟動過服務看一下端口是否在監聽,命令:
啟動服務:service fdfs_trackerd start
查看監聽:netstat -unltp|grep fdfs

看到22122端口正常被監聽后,這時候就算 Tracker服務安裝成功啦!
配置 Storage 服務
現在開始配置 Storage 服務,由於我這是單機器測試,你把 Storage 服務放在多台服務器也是可以的,它有 Group(組)的概念,同一組內服務器互備同步,這里不再演示。直接開始配置,依然是進入/etc/fdfs的目錄操作,首先進入它。會看到三個.sample后綴的文件,我們需要把其中的storage.conf.sample文件改為storage.conf配置文件並修改它。還看命令:
cp storage.conf.sample storage.conf
vim storage.conf

打開storage.conf文件后,找到這兩個參數進行修改:
# the base path to store data and log files
base_path=/data/fastdfs/storage
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/data/fastdfs/storage
#store_path1=/home/yuqing/fastdfs2
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.198.129:22122
當然你的/data/fastdfs目錄下要有storage文件夾,沒有就創建一個,不然會報錯的,日志以及文件都會在這個下面,啟動時候會自動生成許多文件夾。stroage的port=23000這個端口參數也不建議修改,默認就好,除非你已經占用它了。
修改完成保存並退出 vim ,這時候我們依然想優雅地啟動 Storage服務,帶目錄的命令不夠優雅,這里還是使用ln -s 建立軟鏈接:
ln -s /usr/bin/fdfs_storaged /usr/local/bin

執行命令啟動服務:
service fdfs_storaged start

圖片中出現了一個大大的error啦!!!要仔細看,錯誤提示是找不到文件夾,這就好辦了嘛。創建一個文件夾再次啟動看看。

這次啟動成功,沒有錯誤了。查看一下監聽:
netstat -unltp|grep fdfs

很好,22122 和 23000端口都在監聽了,這個時候你去/data/fastdfs/storage文件夾下看的話,會出現一大堆文件夾,而且進去還有一大堆,哈哈,這就是存放文件的啦!下一篇會講它們的作用和怎么存儲的。
這就完成了?
應該是完成了。我們安裝配置並啟動了 Tracker 和 Storage 服務,也沒有報錯了。那他倆是不是在通信呢?我們可以監視一下:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

看到我紅線處ACTIVE這樣就 ok 啦!
其實這個時候你就可以進行上傳測試了,但可能會下載不了,所以,我們把成功的喜悅留在下一篇吧。
總結一下
這篇文章只是進行了 FastDFS 的安裝與配置,沒有任何難度可言,只要按照步驟一步步走下去就可以搞定。可能中間過程中我們會由於不細心經歷各種錯誤,只要仔細看日志信息都能解決掉的,你解決掉一個個錯誤的時候難道沒有披荊斬棘戰士般的感覺么?反正我沒遇到錯...
由於余老師在 V4.05 以后的版本就把內置 HTTP服務去掉了,推薦大家結合 Nginx 使用 fastdfs-nginx-module 模塊,所以,就算這篇你測試上傳成功了,你也訪問不了,哈哈哈... 下一篇分布式文件系統 - FastDFS 配置 Nginx 模塊及上傳測試 中會進行配合 Nginx 完成全部FastDFS的安裝測試上傳下載等等全部工作。等着吧...
太晚了,明天見。
