1-内容简介

1.1-什么是FastDFS

  • FastDFS是一个开源高性能分布式文件系统(DFS)。它的主要功能包括:文件存储、文件同步、文件访问和设计高容量和负载平衡。

1.2-为什么使用FastDFS

  • 与Django进行交互,实现更加强大的文件上传以及下载功能。

2-Ubuntu(16.04)系统的配置

  • 在这里强烈建议使用Vmware的用户网络使用NAT模式,不要使用桥接模式。

2.1-安装FDFS时系统所需依赖

  • 防止后面文件make出错
  • pcre库
    sudo apt-get install libpcre3 libpcre3-dev  
    
    1
  • zlib库
    sudo apt-get install zlib1g-dev
    
    2
  • OpenSSL库
    sudo apt-get install openssl libssl-dev 
    
    3

3-FastDFS的安装

3.1-准备如下依赖包

  • 4
  • 注意以下所有操作的目录都填写自己所创建的
  • 操作没有出错即完成

3.2-解压缩libfastcommon-master.zip

unzip libfastcommon-master.zip
cd libfastcommon-master
./make
sudo ./make.sh install

3.3-解压缩fastdfs-master.zip

unzip fastdfs-master.zip
cd fastdfs-master
./make.sh
sudo ./make.sh install

3.4-配置tracker服务器

  • sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  • 在家目录下创建目录fastdfs/tracker
    mkdir –p /home/thatsall/fastdfs/tracker
    
  • 编辑/etc/fdfs/tracker.conf配置文件
    sudo vim /etc/fdfs/tracker.conf
    
    修改其中base_path一行为刚创建的tracker目录
    base_path=/home/thatsall/fastdfs/tracker
    

3.5-配置storage服务器

  • sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
    
  • 在家目录中创建目录storage
    mkdir –p /home/thatsall/fastdfs/storage
    
  • 编辑/etc/fdfs/storage.conf配置文件
    sudo vim /etc/fdfs/storage.conf
    
    修改其中base_path一行为刚创建的storage目录
    base_path=/home/thatsall/fastdfs/storage
    
    修改store_path0
    store_path0=/home/thatsall/fastdfs/storage
    
    修改tracker_server
    tracker_server=自己ubuntu虚拟机的ip地址:22122
    

3.6-配置client文件

  • sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
    
  • 编辑/etc/fdfs/client.conf配置文件
    sudo vim /etc/fdfs/client.conf
    
    修改base_path以及tracker_server为自己创建的目录
    base_path=/home/thatsall/fastdfs/tracker
    tracker_server=自己ubuntu虚拟机的ip地址:22122
    

3.7-启动tracker 和 storage

  • 没有提示即启动完成,可以通过ps命令查看后台运行情况
sudo service fdfs_trackerd start
sudo service fdfs_storaged start

3.8-测试是否安装成功

  • 上传文件测试
    fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件 
    
    如果出现下图所示内容即成功 5

4-FastDFS与Nginx进行交互

4.1-解压并编译ngnix

  unzip nginx-1.8.1.tar.gz
  unzip fastdfs-nginx-module-master.zip
  cd nginx-1.8.1

4.2-执行编译命令

  • 注意文件所在路径
  sudo ./configure --prefix=/usr/local/nginx/ --add-module=../fastdfs-nginx-module-master/src
  sudo ./make
  sudo ./make install
  • 若此处编译报错,表示未安装第2部分所提的依赖库

4.3-配置fastdfs-nginx文件

  • 若上面的fastdfs-nginx-module-master.zip文件已经解压,执行
  cd fastdfs-nginx-module-master/src
  sudo cp mod_fastdfs.conf  /etc/fdfs/mod_fastdfs.conf
  • 修改如下内容
  sudo vim /etc/fdfs/mod_fastdfs.conf
  connect_timeout=10
  tracker_server=自己ubuntu虚拟机的ip地址:22122
  url_have_group_name=true
  store_path0=/home/thatsall/fastdfs/storage
6
  • 进入解压缩的fastdfs-master目录conf目录中,执行
  sudo cp http.conf  /etc/fdfs/http.conf
  sudo cp mime.types /etc/fdfs/mime.types

4.4-配置nginx文件

  • 修改nginx配置
  sudo vim /usr/local/nginx/conf/nginx.conf
  • 在http部分中添加配置信息如下
    server {
          listen       8888;
          server_name  localhost;
          location ~/group[0-9]/ {
          ngx_fastdfs_module;
      }
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
          root   html;
      }
    }
    
    
    7

4.5-启动nginx

sudo /usr/local/nginx/sbin/nginx
  • 没有提示即成功执行,可以通过ps命令查看后台运行情况

4.6-通过nginx访问经FDFS上传的文件

  • 若上面配置已经完成,直接如下图所示进行访问 8
  • 端口后面的内容即FDFS上传文件所返回的值

5-参考资料