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