FastDFS搭建單機服務器

一、目錄結構

以我下載及安裝的路徑爲例,
下載及安裝路徑
/usr/local/

創建幾個後面能用到的目錄

mkdir /fastdfs/ 
mkdir /fastdfs/storage 
mkdir /fastdfs/tracker 

二、下載安裝 libfastcommon

1、進入目錄
cd /usr/local

2、下載libfastcommon到/usr/local目錄下
wget https://github.com/happyfish100/libfastcommon/archive/master.zip

3、解壓壓縮包
unzip master.zip

(如果沒有unzip,
執行命令yum install unzipapt-get install unzip

4、cd libfastcommon-master

5、編譯
./make.sh
6、安裝
./make.sh install

三、下載安裝FastDFS

注意!FastDFS版本必須 >= 5.11
不然在後期使用fastdfs-nginx-module模塊整合Nginx時候會出錯,用了一個上午才明白的血淋淋的教訓。
1、進入目錄
cd /usr/local
2、下載FastDFS到/usr/local目錄下
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
3、解壓 FastDFS ,命令:
tar -zxvf V5.11.tar.gz

4、進入fastfds-5.11目錄
cd fastdfs-5.11

5、編譯
./make.sh

如果報錯如果報錯
../storage/trunk_mgr/trunk_shared.c:435:undefined reference to ‘fc_safe_read’
檢查是否libfastcommon版本過低了,1.0.7的版本玩不起來,我更新成最新版本libfastcommon-master,然後再安裝fastdfs,問題解決。

6、安裝
./make.sh install

四、配置 Tracker 服務

上述安裝成功後,在/etc/目錄下會有一個fdfs的目錄,進入它。會看到三個.sample後綴的文件,這是作者給我們的示例文件,我們需要把其中的tracker.conf.sample文件改爲tracker.conf配置文件並修改它。
1、複製重命名配置文件
cd /etc/fdfs
cp tracker.conf.sample tracker.conf

2、打開
vim tracker.conf

主要修改兩個參數

base_path=/fastdfs/tracker

http.server_port=80

port=22122這個端口參數不建議修改,除非你已經佔用它了。

修改完成保存並退出 vim ,這時候我們可以使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
來啓動 Tracker服務,但是這個命令不夠優雅,怎麼做呢?

3、使用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

4、啓動tracker
使用
service fdfs_trackerd start
來優雅地啓動 Tracker服務了,比剛纔帶目錄的命令好記太多了。你也可以啓動過服務看一下端口是否在監聽,命令:

啓動服務:service fdfs_trackerd start

查看監聽:netstat -unltp|grep fdfs

在阿里雲服務器上啓動service fdfs_trackerd start報錯
Failed to start fdfs_storaged.service: Unit fdfs_storaged.service not found.

在阿里雲上面使用
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
啓動就是正常的。

重啓
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

看到22122端口正常被監聽後, Tracker服務安裝成功啦!

五、配置 Storage 服務

現在開始配置 Storage 服務,由於我這是單機器測試,你把 Storage 服務放在多臺服務器也是可以的,它有 Group(組)的概念,同一組內服務器互備同步,這裏不再演示。

1、複製重命名配置文件
cd /etc/fdfs
會看到三個.sample後綴的文件,我們需要把其中的storage.conf.sample文件改爲storage.conf配置文件並修改它

cp storage.conf.sample storage.conf

2、打開文件
vim storage.conf

修改幾個參數

group_name=group1
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.86.131:22122

192.168.86.131改成你的本機ip。

如果部署的是阿里雲ECS服務器,
tracker_server=公網ip:22122

stroage的port=23000這個端口參數也不建議修改,默認就好,除非你已經佔用它了。
修改完成保存並退出 vim ,這時候我們依然想優雅地啓動 Storage服務,帶目錄的命令不夠優雅,這裏還是使用ln -s 建立軟鏈接。

3、建立軟鏈接
ln -s /usr/bin/fdfs_storaged /usr/local/bin

4、啓動storage
service fdfs_storaged start

在阿里雲上面使用
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
啓動就是正常的。

注:在阿里雲上進行配置,storaged可能會啓動失敗,需要配置雲服務器實例安全組,添加安全組配置,打開22122和23000端口。

然後關閉系統防火牆:systemctl stop firewalld.service

啓動成功後可以配置開機自動啓動:

vim /etc/rc.local

在打開的文件中添加:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

退出保存即可。

5、查看是否正常啓動
netstat -unltp|grep fdfs
如果22122和23000端口都在監聽,則啓動正常了。

六、嘗試通信

六、嘗試通信
到這一步已經正常啓動了tracker和storage服務。
指定命令嘗試兩者進行通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

啓動正常的話,就可上傳圖片了,但是目前還無法下載。

客戶端配置

進入到/etc/fdfs 目錄下並複製一份 client.conf.sample 並更名爲 client.conf,

使用命令vim /etc/fdfs/client.conf進入編輯模式並修改如下兩項內容,如下所示。

base_path=/fastdfs/tracker  
tracker_server=192.168.86.131:22122

下面使用 fdfs_upload_file 腳本進行文件上傳操作,如下所示。可以看到已經上傳成功了,返回的是圖片的保存位置:

[root@shenyanzhi bin]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/shenyanzhi.png
group1/M00/00/00/rBD83lq_Q_-AB1H_AAAxNQHnUn4955.png

 

參考

https://www.jianshu.com/p/87292cfe4f35

https://www.jianshu.com/p/2dc2bcaade08

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