Centos7快速部署FDFS分布式文件管理系统

一、什么是FDFS

FastDFS(简称FDFS) 是一个开源的高性能分布式文件系统。它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。


FastDFS 系统有三个角色:跟踪服务器(Tracker Server)存储服务器(Storage Server)客户端(Client)
 

我们项目存储的时候先调用管理端, 管理端会给我们分配一台存储端的IP地址和端口, 我们向存储端机器存储文件, 存储端会给我们返回存储后的地址以及文件名, 文件名会自动被存储端重命名, 防止文件重名。

二、FDFS搭建

1、部署环境

  • Linux Centos7
  • Xshell、Xft连接服务器 
  • ibfastcommonV1.07.tar.gz依赖包、FastDFS_v5.05.tar.gz、nginx-1.12.2.tar.gz

2、FDFS搭建

1、Xshell连接服务器,上传所需tar.gz文件到/opt目录;

2、依赖包安装及配置:1)解压缩ibfastcommonV1.07.tar.gz到/usr/local/src/;(cd /usr/local/src/     tar zxvf /opt/ibfastcommonV1.07.tar.gz)

                                      2)进入libfastcommon-1.07文件,编译,安装;  (cd ibfastcommonV1.07/  后ls会有一个make.sh  执行./make.sh  ./make.sh install)

                                      3)  设置软连接;因为安装后libfastcommon默认安装在了/usr/lib64目录下,而FDFS主程序设置目录在/usr/local/lib目录

3、FastDFS安装及配置:1) 解压缩FastDFS_v5.05.tar.gz到/usr/local/src/;

                                          2) 进入FastDFS文件,编译、安装;

                                          3) 设置软链接;FDFS的脚本bin目录在/usr/local/bin,但实际安装在/usr/bin。

4、创建存储目录:mkdir  /usr/local/fdfsdata//tracker(追踪的数据和日志)    mkdir  /usr/local/fdfsdata//storage(存储的数据和日志)    

                               mkdir  /usr/local/fdfsdata//client (监听的数据和日志)    mkdir  /usr/local/fdfsdata//temp (临时目录)   

                                --嫌麻烦可以使用xftp连接到服务器右键新建也行0.0

5、配置跟踪服务器和存储服务器

6、启动tracker和stronge       /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

                                              /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

7、检查与测试    ps -ahx | grep fdfs 查看进程是否成功

                           netstat -unltp | grep fdfs 查看端口是否正在被监听

3、Nginx环境搭建 

Nginx环境搭建大家都很熟悉,网上教程也很多,这里简单介绍。

1、解压nginx-1.12.2.tar.gz到/usr/local/nginx(没有就新建目录);

      进入nginx-1.12.2;使用默认设置 ./configure;编译、安装(make、make install)

      启动nginx (目录在/usr/local/nginx/sbin/nginx);

      修改配置文件nginx.conf。在80端口下添加


location /group1/M00 {

      alias /data/fastdfs/res/data;

}

              重启nginx;

2、杀掉ngxin并上传fastdfs-nignx-module到/usr/lcoal/;进入nginx-1.12.2目录添加模块 .configure --add-module=/usr/lcoal/fastdfs-nginx-module/src;重新编译、安装;

/usr/lcoal/nginx/sbin/nginx -V查看Nginx版本以及模块,正常应有刚添加的模块;常见编译错误就是没有添加成功。

3、将fastdfs-nginx-module目录src的配置文件mod_fastdfs.conf添加到/etc/fdfs目录;

4、修改mod_fastdfs.conf配置

客户端访问文件连接超时时长(单位:秒)

connect_timeout=10

临时目录
base_path=/usr/lcoal/fdfsdata/temp

tracker服务IP和端口
tracker_server=ip:22122

访问链接前缀加上组名group1
url_have_group_name=true

文件存储路径
store_path0=/usr/lcoal/fdfsdata/res

5、复制FastDFS/conf的配置文件(http.conf、mime.types 、anti-steal.jpg)到/etc/fdfs/目录;

6、配置nginx允许访问storage文件;

在80端口下添加fastdfs-nginx模块
location ~/group([0-9])/M00 {

    ngx_fastdfs_module;

}

7、重新启动nginx 。


Nginx添加fastdfs-nignx-module可以重定向文件连接到源服务器取文件,避免客户在访问时因文件复制延迟而导致访问失败的问题:由于FDFS是通过Travker服务器将文件存储在Storage服务器,但是同步存储服务器之间需要文件复制,有同步延迟的问题。假设Tracker服务器将一个文件上传到192.168.0.1,文件上传成功后将ID已经返回给客户端,但是同步存储到192.168.0.2的过程还没完成,如果这个时候用户访问或读取这个文件就会出现无法访问的问题。

三、测试文件上传

首先我向服务器上传一个图片,保存在桌面/ju/1.jpg

fdfs文件上传命令/usr/bin/fdfs_upload_file   监听配置文件/etc/fdfs/client.conf   文件路径/home/ju/1.jpg

可见返回了group1/M00/00/00/rBEAD2B_0VeAZqKcAAAoAfAfFDk204.jpg

去存储管理中查看stroage/data/

文件上传成功! 

如果是在本地启动django127.0.0.1。在127.0.0.1后面加上group1/M00/00/00/rBEAD2B_0VeAZqKcAAAoAfAfFDk204.jpg便可看到刚刚上传的图片。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值