乐趣区

关于fastdfs:CentOS7中搭建FastDFS分布式文件系统

介绍
FastDFS 是一个开源的分布式文件系统,她对文件进行治理,性能包含:文件存储、文件同步、文件拜访(文件上传、文件下载)等,解决了大容量存储和负载平衡的问题。特地适宜以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS 服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器次要做调度工作,在拜访上起负载平衡的作用。

指标

  • 在 CentOS7 中搭建 FastDFS 分布式文件系统;
  • FastDFS+ Nginx + fastdfs-nginx-module 整合;
  • 对 FastDFS 文件治理(上传、下载、预览、删除);

剖析

  • 装置依赖包;
  • 装置 FastDFS;
  • 整合 Nginx 与 fastdfs-nginx-module;
  • 测试。

环境

  • CentOS7
  • FastDFS_v5.08.tar.gz
  • nginx-1.19.10.tar.gz
  • libfastcommon-master.zip

依赖装置

  • 要装置 gcc
    yum install gcc-c++
  • 装置 libevent
    yum -y install libevent
  • 装置 libevent
    yum -y install libevent
  • 装置 libfastcommon 或 libfastcommon-master
    tar -zxvf libfastcommon-master.zip
    cd libfastcommon-master
    ./make.sh
    ./make.sh install

    这里抉择 libfastcommon-master.zip 因为 libfastcommon 配置后 FastDFS 编译不胜利;
    libfastcommon 是 FastDFS 官网提供的,libfastcommon 蕴含了 FastDFS 运行所须要的一些根底库。

装置 FastDFS

  • 解压安装包
    tar -zxvf FastDFS_v5.08.tar.gz
  • 进入目录
    cd FastDFS
  • 编译
    ./make.sh
  • 装置
    ./make.sh install
  • 查看装置地位
    ls -la /usr/bin/fdfs*

配置 Tracker 服务

  • 进入 /etc/fdfs 目录,看到几个文件 没有到 /mysoft/FastDFS/conf 文件拷贝过去;
  • 拷贝 tracker.conf.sample,改 tracker.conf;
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  • 编辑 tracker.conf 批改相干参数
    vi /etc/fdfs/tracker.conf

     #tracker 存储 data 和 log 的跟门路,必须提前创立好
     base_path=/home/fastdfs/tracker  
     port=22122 #tracker 默认 22122
     http.server_port=80 #http 端口,须要和 nginx 雷同 
  • 启动 tracker(反对 start|stop|restart)
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start|stop|restart

    /etc/init.d/fdfs_trackerd start|stop|restart
  • 查看端口状况:netstat -apn|grep fdfs
    netstat -apn|grep fdfs

配置 Storage 服务

  • 进入 /etc/fdfs 目录,看到几个文件 没有到 /mysoft/FastDFS/conf 文件拷贝过去;
  • 拷贝 storage.conf.sample,改 storage.conf;
    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  • 编辑 storage.conf 批改相干参数
    vi /etc/fdfs/storage.conf

    #storage 存储 data 和 log 的跟门路,必须提前创立好 
    base_path=/home/fastdfs/storage   
    port=23000  #storge 默认 23000,同一个组的 storage 端口号必须统一
    group_name=group1  #默认组名,依据理论状况批改
    store_path_count=1  #存储门路个数,须要和 store_path 个数匹配
    store_path0=/home/fastdfs/storage  #如果为空,则应用 base_path
    tracker_server=192.168.157.130:22122 #配置该 storage 监听的 tracker 的 ip 和 port
  • 启动 storage(反对 start|stop|restart)
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start|stop|restart

    /etc/init.d/fdfs_storaged start|stop|restart
  • 查看端口状况:netstat -apn|grep fdfs
    netstat -apn|grep fdfs
  • 通过 monitor 来查看 storage 是否胜利绑定:
    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

装置 Nginx 和 fastdfs-nginx-module 模块

  • 解压 nginx 安装包
    tar -zxvf nginx-1.19.10.tar.gz
  • 解压 fastdfs-nginx-module 组件
    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
  • 进入目录
    cd nginx-1.19.10
  • 配置,并加载 fastdfs-nginx-module 模块:
    ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
  • 编译
    ./make.sh
  • 装置
    ./make.sh install
  • 查看装置门路
    whereis nginx
  • Nginx 加载配置 重启服务
    systemctl status nginx.service(查看服务以后状态)
    systemctl start nginx.service(启动 nginx 服务)
    systemctl stop nginx.service(进行 nginx 服务)
    systemctl restart nginx.service(重新启动服务)
    systemctl reload nginx.service(从新加载配置)
  • 查看此时的 nginx 版本:发现 fastdfs 模块曾经装置好了
    `/usr/local/nginx/sbin/

配置 Nginx 和 fastdfs-nginx-module 模块

  • 拷贝 fastdfs-ngin-module 中的 mod-fastdfs.conf 配置文件,到 /etc/fdfs 目录中
    cd /usr/local/fastdfs/fastdfs-nginx-module/src
    cp /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
  • 进入 /etc/fdfs 批改 mod-fastdfs.conf
    vi /etc/fdfs/mod_fastdfs.conf

    base_path=/home/fastdfs/
    tracker_server=192.168.157.130:22122 #tracker 的地址
    url_have_group_name=true #url 是否蕴含 group 名称
    storage_server_port=23000 #须要和 storage 配置的雷同
    store_path_count=1  #存储门路个数,须要和 store_path 个数匹配
    store_path0=/home/fastdfs/storage #文件存储的地位 
  • 配置 nginx,80 端口 server 减少 location 如图:
    vi /usr/local/nginx/conf/nginx.conf

    #fastdfs info
    location ~/group[0-9]/M00/ {ngx_fastdfs_module;}

FastDFS 测试客户端配置

  • 进入 /etc/fdfs 目录,拷贝 client.conf.sample,改 client.conf;
    cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  • 编辑 client.conf 批改相干参数
    vi /etc/fdfs/client.conf

    base_path=/home/fastdfs/tracker #tracker 服务器文件门路
    tracker_server=192.168.157.130:22122 #tracker 服务器 IP 地址和端口号
    # tracker 服务器的 http 端口号,必须和 tracker 的设置对应起来
    http.tracker_server_port=80

FastDFS 操作测试

  • 上传文件
    [root@localhost fdfs]# fdfs_upload_file /etc/fdfs/client.conf /mysoft/1.png
  • 预览文件
    http://192.168.157.130/group1…
  • 下载文件
    fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKidgmCz52eAdFyBAALBD5a98zs974.png /mysoft/dow_2.png
  • 删除文件
    fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKidgmCz52eAdFyBAALBD5a98zs974.png
退出移动版