在Ubuntu下安裝FastDFS
1.安裝gcc環境
FastDFS 是 C 語言開發所以需要gcc環境
sudo apt-get install gcc
2.安裝 libevent
FastDFS 依賴 libevent 庫,需要安裝:
sudo apt-get install libevent
3.安裝Git
fastdfs依賴libfastcommon,需要從github上clone到本地編譯安裝。因此首先需要安裝git。
apt-get install git
3.克隆libfastcommon庫
libfastcommon 是 FastDFS 官方提供的,libfastcommon 包含了 FastDFS 運行所需
要的一些基礎庫。
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh #編譯
./make.sh install #安裝
注意:libfastcommon 安裝好後會自動將庫文件拷貝至/usr/lib64 下,由於 FastDFS 程
序引用 usr/lib 目錄所以需要將/usr/lib64 下的庫文件拷貝至/usr/lib 下。
export LD_LIBRARY_PATH=/usr/lib/
ln -s /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so
4.安裝FastDFS
爲什麼將壓縮包放到/usr/local/src?
慣例,大家都統一放一個地方,方便查找
所以libfastcommon推薦大家也下載在/usr/local/src
root@LAPTOP-2OT43UL7:~/libfastcommon# cd /usr/local/src
root@LAPTOP-2OT43UL7:/usr/local/src# git clone https://github.com/retamia/fastdfs.git --depth 1 #--depth 1 防止文件過大下不下來
root@LAPTOP-2OT43UL7:/usr/local/src# cd fastdfs
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh #編譯
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh install #拷貝頭文件和庫文件到系統目錄可能要是用sudo
安裝時候出現的信息
root@LAPTOP-2OT43UL7:/usr/local/src/fastdfs# ./make.sh install
mkdir -p /usr/bin #-p xx/yy的好處就是一次可以創建多級文件夾,若xx文件夾不存在,則先創建xx文件夾,然後在xx文件夾下創建yy文件夾
mkdir -p /etc/fdfs
cp -f fdfs_trackerd /usr/bin #-f強制複製
if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi
if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
cp -f fdfs_storaged /usr/bin
if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi
mkdir -p /usr/bin
mkdir -p /etc/fdfs
mkdir -p /usr/lib64
mkdir -p /usr/lib
cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin
if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi
if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi
mkdir -p /usr/include/fastdfs
將配置文件拷貝到etc(包含很多文件.許多網絡配置文件)中
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf #tracker服務器需要拷貝該文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf #storage服務器需要拷貝該文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客戶端配置
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #如果需要提供http訪問的需要拷貝該文件,storage服務器和tracker服務器都需要拷貝
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #同上
5.配置
5.1.tracker服務器配置
端口:port=22122
存儲策略:store_lookup= 取值範圍:0(輪詢向storage存儲文件)、1(指定具體的group)、2負載均衡,選擇空閒的storage存儲 指定具體的group:store_group= 如果store_lookup設置爲1則這裏必須指定一個具體的group。
tracker 基礎目錄:base_path=/home/fastdfs,tracker在運行時會向此目錄存儲storage的管理數據。
root@LAPTOP-2OT43UL7:/usr/local/src# cd /etc/fdfs
root@LAPTOP-2OT43UL7:/etc/fdfs# ll
total 76
drwxr-xr-x 1 root root 4096 Jul 29 12:35 ./
drwxr-xr-x 1 root root 4096 Jul 29 12:33 ../
-rw-r--r-- 1 root root 1461 Jul 29 12:35 client.conf
-rw-r--r-- 1 root root 1461 Jul 29 12:33 client.conf.sample
-rw-r--r-- 1 root root 955 Jul 29 12:35 http.conf
-rw-r--r-- 1 root root 31172 Jul 29 12:35 mime.types
-rw-r--r-- 1 root root 7978 Jul 29 12:34 storage.conf
-rw-r--r-- 1 root root 7978 Jul 29 12:33 storage.conf.sample
-rw-r--r-- 1 root root 105 Jul 29 12:33 storage_ids.conf.sample
-rw-r--r-- 1 root root 7441 Jul 29 12:34 tracker.conf
-rw-r--r-- 1 root root 7441 Jul 29 12:33 tracker.conf.sample
root@LAPTOP-2OT43UL7:/etc/fdfs# vi tracker.conf # a 修改 /查找 esc 退出修改還在查找 :wq 保存並退出
5.2.tracker服務器配置
組名:group_name=group1
端口:port=23000
向tracker心跳間隔(秒):heart_beat_interval=30
storage基礎目錄:base_path=/home/fastdfs
磁盤存儲目錄,可定義多個store_path:
store_path0=/home/fastdfs/fdfs_storage (M00)此目錄下存儲上傳的文件,在/home/fastdfs/fdfs_storage/data下 store_path1=...
...
上報tracker的地址:tracker_server=192.168.101.64:22122
如果有多個tracker則配置多個tracker,
比如:
tracker_server=192.168.101.64:22122
tracker_server=192.168.101.65:22122
6.服務
6.1啓動/重啓/停止服務
tracker
/etc/init.d/fdfs_trackerd start
/etc/init.d/fdfs_trackerd restart
/etc/init.d/fdfs_trackerd stop
chkconfig fdfs_trackerd on # 自啓動
storage
/etc/init.d/fdfs_storaged start
/etc/init.d/fdfs_storaged restart
/etc/init.d/fdfs_storaged stop
chkconfig fdfs_storaged on # 自啓動
6.2查看是否啓動成功
root@LAPTOP-2OT43UL7:/usr/bin# ps -ef|grep fdfs
root 775 1 0 14:03 ? 00:00:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 787 1 0 14:07 ? 00:00:00 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
root 789 28 0 14:07 tty1 00:00:00 grep --color=auto fdfs