一、目錄結構
以我下載及安裝的路徑爲例,
下載及安裝路徑
/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 unzip
或 apt-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、啓動storageservice 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
參考