Tracker server: 10.2.84.200
Storage server: 10.2.84.202 10.2.84.204
一、安裝部署
1.配置tracker server、storage server
# unzip libfastcommon-master.zip
# cd libfastcommon-master
# ./make.sh
# ./make.sh install
Libfastcommon.so安裝到了/usr/lib64/libfastcommon.so,但是FastDFS主程序設置的lib目錄是/usr/local/lib,所以需要創建軟鏈接
# ln -s /usr/lib64/libfastcommon.so /usr/local/bin/libfastcommon.so
# ln -s /data/usr/lib64/libfdfsclient.so /usr/local/bin/libfdfsclient.so
# ln -s /data/usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
# tar zxvf FastDFS_v5.05.tar.gz
# cd FastDFS
# vim make.sh
DESTDIR=/data
# ./make.sh
# ./make.sh install
創建存儲目錄
# mkdir -pv /data/fastdfs
二、修改配置tracker server端文件
# cd /data/etc/fdfs/
# cp client.conf.sample client.conf
# cp tracker.conf.sample tracker.conf
# vim tracker.conf
bind_addr=10.2.84.200
base_path=/data/fastdfs
# vim client.conf
base_path=/data/fastdfs
tracker_server=10.2.84.200:22122
啓動:
# /data/usr/bin/fdfs_trackerd /data/etc/fdfs/tracker.conf
三、修改storage server端文件
# cd /data/etc/fdfs/
# cp client.conf.sample client.conf
# cp storage.conf.sample storage.conf
# vim storage.conf
bind_addr=10.2.84.202
base_path=/data/fastdfs
store_path0=/data/fastdfs
tracker_server=10.2.84.200:22122
# vim client.conf
base_path=/data/fastdfs
tracker_server=10.2.84.200:22122
啓動:
# /data/usr/bin/fdfs_storaged /data/etc/fdfs/storage.conf
四、在storage server上安裝ngxin、fastdfs-nginx-module
FastDFS通過Tracker服務器,將文件放在Storage服務器存儲,但是同組之間的服務器需要複製文件,有延遲的問題.假設Tracker服務器將文件上傳到了10.2.84.202,文件ID已經返回客戶端,
這時,後臺會將這個文件複製到10.2.84.204,如果複製沒有完成,客戶端就用這個ID在10.2.84.204取文件,肯定會出現錯誤
這個fastdfs-nginx-module可以重定向連接到源服務器取文件,避免客戶端由於複製延遲的問題,出現錯誤。
# mkdir -pv /data/nginx/
# mv fastdfs-nginx-module /soft/nginx/
# tar /root/zxvf fastdfs-nginx-module_v1.16.tar.gz
# cd fastdfs-nginx-module
# vim src/config
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改爲:其實就是去掉/local目錄
CORE_INCS="$CORE_INCS /data/usr/include/fastdfs /usr/include/fastcommon/"
# yum install -y pcre-devel openssl-devel
# tar zxvf /root/nginx-1.9.12.tar.gz
# cd /root/nginx-1.9.12
# ./configure --prefix=/soft/nginx --conf-path=/soft/nginx/conf/nginx.conf --with-select_module --with-poll_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_stub_status_module --with-http_auth_request_module --add-module=/soft/nginx/fastdfs-nginx-module/src
# make
# make install
# cp /soft/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /data/etc/fdfs/
# vim /data/etc/fdfs/mod_fastdfs.conf
base_path=/data/fastdfs
tracker_server=10.2.84.200:22122
url_have_group_name = true
store_path0=/data/fastdfs
# cp /root/FastDFS/conf/http.conf /data/etc/fdfs/
# cp /root/FastDFS/conf/mime.types /data/etc/fdfs/
# vim /data/etc/fdfs/http.conf
http.anti_steal.token_check_fail=/data/fastdfs/conf/anti-steal.jpg
# vim /soft/nginx/conf/nginx.conf
location /M00 {
root /data/fastdfs;
ngx_fastdfs_module;
}
# ln -s /data/fastdfs/data /data/fastdfs/M00
# vim /etc/ld.so.conf
/usr/local/lib
# /sbin/ldconfig
# /soft/nginx/sbin/nginx -t
# /soft/nginx/sbin/nginx
關閉:
# /data/usr/bin/stop.sh /data/etc/fdfs/storage.conf
開啓:
# /data/usr/bin/fdfs_storaged /data/etc/fdfs/storage.conf
# /data/usr/bin/fdfs_trackerd /data/etc/fdfs/tracker.conf
測試上傳:
# /data/usr/bin/fdfs_upload_file /data/etc/fdfs/client.conf /root/a.txt