继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

FastDFS服务器集群部署和集成客户端到SpringBoot

青春有我
关注TA
已关注
手记 1239
粉丝 205
获赞 1008

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,同时也能做到在集群环境下一台机子上传文件,同时该组下的其他节点下也备份了上传的文件。做分布式系统开发时,其中要解决的一个问题就是图片、音视频、文件共享的问题和数据备份,分布式文件系统正好可以解决这个需求。FastDFS的服务主要有两个角色Tracker和Storage,Tracker服务用于负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽,Storage用于保存文件

  • FastDFS集群部署

    • 下载FastDFS

    • 解压、安装

      unzip fastdfs-master.zipcd fastdfs-master
      ./make.sh && ./make.sh install #编译安装cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
      cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
      cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用
    • 下载libfatscommon

    • 解压、安装

      unzip libfastcommon-master.zipcd libfastcommon-master
      ./make.sh && ./make.sh install #编译安装
    • 名称描述
      centos系统版本6.9
      libfatscommonFastDFS分离出的一些公用函数包
      FastDFSFastDFS主程序
      fastdfs-nginx-moduleFastDFS和nginx的关联模块
      nginxnginx1.15.5
    • 安装编译环境

    • 磁盘安装路径说明

      说明位置
      FastDFS所以安装包安装位置/usr/local/src
      tracker数据/data/fdfs/tracker
      Storage数据/data/fdfs/Storage
      配置文件路径/etc/fdfs
    • 整体部署模块图


      webp

      FastDFS部署示意图.png

    • 环境准备

      yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
    • 安装libfatscommon

    • 安装FastDFS

      webp

      etc目录下fdfs目录.png

  • 安装fastdfs-nginx-module

    • 下载fastdfs-nginx-module

    • 解压、安装

      unzip fastdfs-nginx-module-master.zipcp /usr/local/src/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs #复制配置文件到fdfs目录
  • 安装nginx

    • 下载nginx

    • 解压、安装

      tar -zxvf nginx-1.15.5.tar.gzcd nginx-1.15.5#添加fastdfs-nginx-module模块./configure --add-module=/usr/local/src/fastdfs-nginx-module-master/src/ 
      make && make install #编译安装
  • FastDFS集群部署配置

    #服务器ip为 xxx.xxx.78.12, xxx.xxx.78.13vim /etc/fdfs/tracker.conf#需要修改的内容如下port=22122  # tracker服务器端口(默认22122,一般不修改)base_path=/data/fdfs/tracker #存储日志和数据的根目录

    webp

    tracker配置.png

    • tracker配置

  • Storage配置

 ```
 vim /etc/fdfs/storage.conf #需要修改的内容如下
 port=23000  # storage服务端口(默认23000,一般不修改)
 base_path=/data/fdfs/storage  # 数据和日志文件存储根目录
 store_path0=/data/fdfs/storage  # 第一个存储目录
 tracker_server=xxx.xxx.78.12:22122  # 服务器1
 tracker_server=xxx.xxx.78.13:22122  # 服务器2
 http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
 ```
- client配置

 ```
 vim /etc/fdfs/client.conf #需要修改的内容如下
 base_path=/home/moe/dfs
 tracker_server=xxx.xxx.78.12:22122  # 服务器1
 tracker_server=xxx.xxx.78.13:22122  # 服务器2
 ```
- 配置nginx访问
 ```
 vim /etc/fdfs/mod_fastdfs.conf #需要修改的内容如下
 tracker_server=xxx.xxx.78.12:22122  # 服务器1
 tracker_server=xxx.xxx.78.13:22122  # 服务器2
 url_have_group_name=true
 store_path0=/data/fdfs/storage 
 #配置nginx.config
 vim /usr/local/nginx/conf/nginx.conf #添加如下配置
 server {
 listen       8888;    ## 该端口为storage.conf中的http.server_port相同
 server_name  localhost;
 location ~/group[0-9]/ {
    ngx_fastdfs_module;
 }
 ......
 ......
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   html;
 }
 }
 ```
  • 启动服务、测试

    启动之前我们还需要在防火墙开通端口
    vim  /etc/sysconfig/iptables
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
    
    service iptables restart #重启防火墙

    webp

    防火墙端口.png

  • 每个服务的启动、关闭和重启操作

    #tracker/etc/init.d/fdfs_trackerd start #启动tracker服务/etc/init.d/fdfs_trackerd restart #重启动tracker服务/etc/init.d/fdfs_trackerd stop #停止tracker服务chkconfig fdfs_trackerd on #自启动tracker服务#storage/etc/init.d/fdfs_storaged start #启动storage服务/etc/init.d/fdfs_storaged restart #重动storage服务/etc/init.d/fdfs_storaged stop #停止动storage服务chkconfig fdfs_storaged on #自启动storage服务#nginx/usr/local/nginx/sbin/nginx #启动nginx/usr/local/nginx/sbin/nginx -s reload #重启nginx/usr/local/nginx/sbin/nginx -s stop #停止nginx```![检测集群1.png](https://upload-images.jianshu.io/upload_images/2174557-566537008c57d1e4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    ![查看运行的服务.png](https://upload-images.jianshu.io/upload_images/2174557-e12afac6ca295a2c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)



作者:maoqitian
链接:https://www.jianshu.com/p/cdccd2beca63


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP