fastdfs是一個文件存儲服務器,包含三種功能:文件上傳,文件存儲調度,文件存儲,文件查看。不過在較新的版本中,已經剔除了文件查看的功能。因為文件查看功能的實現其實就是一個靜態web服務器。這部分功能完全可以由專業的nginx來替代。但是,文件查看功能並不只是簡單的文件查看,這其中還涉及到多個存儲節點之間的文件同步問題。在使用nginx時,還需要安裝相應的插件確保文件同步。所以,我們日常所提及的fastdfs,其實應該是fastdfs+nginx的組合架構。
安裝過程:首先安裝fastdfs,測試起文件上傳和存儲功能,然后安裝nginx。
fastdfs安裝:
#獲取安裝包
#官網https://github.com/happyfish100
cd /usr/local/src
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip#建議先下載nginx-fastdfs插件包,因為獲取不到歷史版本(除非版本回退)
#需要根據nginx-fastdfs的說明文檔確定fastdfs的下載版本。
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz #安裝fastdfs基礎包 cd /usr/local/src tar xzvf V1.0.36 cd libfastcommon-1.0.36 ./make.sh ./make install #安裝fastdfs cd /usr/local/src tar xzvf V5.11 cd fastdfs-5.11./make.sh ./make install
存儲功能配置:
cd /etc/fdfs cp storage.conf.sample storage.conf
vim storage.conf disabled=false group_name=group1 bind_name=192.168.0.1#綁定IP,默認不寫的話,會綁定主機所有的IP。存儲功能一般不需要外網訪問,安全起見,建議綁定私網IP port=23000 base_path=/data#該目錄下會存放上傳的文件和存儲功能相關的日志,所以該目錄需要一個比較大的存儲空間??? store_path0=/data#該目錄存放上傳的文件,如果不配置的話會使用base_path tracker_server=192.168.0.11:22122#控制節點的IP和端口
控制節點配置:
cd /etc/fdfs cp tracker.conf.sample tracker.conf vim tracker.conf disabled=false bind_addr=192.168.0.10 port=22122 base_path=/logs#該目錄下會生成兩個目錄data和logs,data存放整個fastdfs的基本信息,logs存放控制相關的日志 use_storage_id=true#使用ID標識storage節點,默認情況下使用IP標識storage節點 storage_ids_filename=storage_ids.conf#在/etc/fdfs/storage_ids.conf中配置storage節點的ID
cd /etc/fdfs cp storage_ids.conf.sample storage_ids.conf vim storage_ids.conf 100001 group1 192.168.0.1
上傳節點配置:
cd /etc/fdfs cp client.conf.sample client.conf vim client.conf base_path=/data/client#存放上傳文件相關的日志 tracker_server=192.168.0.10:22122#配置控制節點 use_storage_id==true#使用ID標識storage節點 storage_ids_filename=storage_ids.conf#在/etc/fdfs/stoage_ids.conf中配置storage節點ID
測試storage+tracker安裝結果:
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
#能夠查看到storage處於active狀態
安裝nginx,“查看文件”功能配置:
#下載nginx插件 unzip master#這個 #安裝pcre+nginx
tar xzvf pcre.tar.gz
cd pcre
./configure
make
make install
tar xzvf nginx.tar.gz cd /usr/local/src/nginx ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module-master/src
ln -s /usr/local/lib/libpcre.so.1 /lib64/ #配置nginx vim /usr/local/nginx/conf/nginx.conf location ~ /group1/M00 { root /fastdfs/data;# ngx_fastdfs_module;# }
#復制查看文件的相關配置文件,不需要配置
cp -f /usr/local/src/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp -f /usr/local/src/fastdffs-5.05/conf/mime.conf /etc/fdfs/
關閉fastdfs服務時,不要使用kill -9,容易造成數據異常
cd /usr/local/src/fastdfs-5.11 ./stop.sh /usr/bin/fdfs_storaged ./stop.sh /usr/bin/fdfs_trackerd ./restart.sh /usr/bin/fdfs_storaged ./restart.sh /usr/bin/fdfs_trackerd
