记一次FastDFS的配置以及与Nginx进行交互

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

  • zlib 库
sudo apt-get install zlib1g-dev

  • OpenSSL 库
sudo apt-get install openssl libssl-dev

3-FastDFS 的安装

3.1-准备如下依赖包

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

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 服务器

  • 复制并修改 tracker.conf
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 服务器

  • 复制 storage.conf
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 文件

  • 复制 client.conf
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 要上传的图片文件
  • 如果出现下图所示内容即成功

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

  • 进入解压缩的 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;
      }
  }

4.5-启动 nginx

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

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

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

5-参考资料

  • FastDFS 作者的 Github FastDFS
  • 简书:ubuntu 下安装 nginx 时 PCRE 库、zlib 库、OpenSSL 库的安装 简书
  • 最后向传智播客的老师表示感谢

添加新评论