FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。linux
客户端上传文件后存储服务器将文件ID返回给客户端,此文件ID用于之后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。nginx
n 组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,须要客户端自行保存。服务器
n 虚拟磁盘路径:storage配置的虚拟路径,与磁盘选项store_path*对应。若是配置了store_path0则是M00,若是配置了store_path1则是M01,以此类推。负载均衡
n 数据两级目录:storage服务器在每一个虚拟磁盘路径下建立的两级目录,用于存储数据文件。分布式
文件名:与文件上传时不一样。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件建立时间戳、文件大小、随机数和文件拓展名等信息。工具
可使用一台虚拟机来模拟,只有一个Tracker、一个Storage服务。性能
配置nginx访问图片。测试
第一步:把fastDFS都上传到linux系统。插件
第二步:安装FastDFS以前,先安装libevent工具包。3d
yum -y install libevent
第三步:安装libfastcommonV1.0.7工具包。
一、解压缩
二、./make.sh
三、./make.sh install
四、把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份
第四步:安装Tracker服务。
一、解压缩
二、./make.sh
三、./make.sh install
安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。
配置文件都放到/etc/fdfs文件夹
四、把/root/FastDFS/conf目录下的全部的配置文件都复制到/etc/fdfs下。
五、配置tracker服务。修改/root/FastDFS/conf/tracker.conf文件。
六、启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
第五步:安装storage服务。
一、若是是在不一样的服务器安装,第四步的1~4须要从新执行。
二、配置storage服务。修改/root/FastDFS/conf/storage.conf文件
三、启动storage服务。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
第六步:测试服务。
一、修改配置文件/etc/fdfs/client.conf
二、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
第七步:搭建nginx提供http服务。
可使用官方提供的nginx插件。要使用nginx插件须要从新编译。
fastdfs-nginx-module_v1.16.tar.gz
一、解压插件压缩包
二、修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉。
三、对nginx从新config
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--add-module=/root/download/fastdfs-nginx-module/src
四、make
五、make install
六、把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。编辑:
七、nginx的配置
在nginx的配置文件中添加一个Server:
server {
listen 80;
server_name 192.168.101.3;
location /group1/M00/{
#root /home/FastDFS/fdfs_storage/data;
ngx_fastdfs_module;
}
}
八、将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
九、启动nginx