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