首页 > 技术文章 > 分布式图片存储系统Fastfds和Nginx

huxiaoyi 2018-12-17 22:54 原文

由于在使用Django的过程当中使用到了Nginx和Fastfds,本文记录一下过程:

fastfds架构:

 

一:安装fastdfs依赖包:

  1. 解压缩libfastcommon-master.zip
  2. 进入到libfastcommon-master的目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

 二:安装fastfds

  1. 解压缩fastdfs-master.zip
  2. 进入到 fastdfs-master目录中
  3. 执行 ./make.sh
  4. 执行 sudo ./make.sh install

三:配置跟踪服务器tracker(fastfds分为两块)

  1. sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
  2. 在/home/python/目录中创建目录 fastdfs/tracker
  3. mkdir –p /home/python/fastdfs/tracker
  4. 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf
  5. 修改 base_path=/home/python/fastdfs/tracker

四:配置存储服务器storage

  1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  2. 在/home/python/fastdfs/ 目录中创建目录 storage
  3. mkdir –p /home/python/fastdfs/storage
  4. 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf

修改内容:

  1. base_path=/home/python/fastdfs/storage
  2. store_path0=/home/python/fastdfs/storage
  3. tracker_server=自己ubuntu虚拟机的ip地址:22122

五:启动tracker 和 storage

  1. sudo service fdfs_trackerd start
  2. sudo service fdfs_storaged start

测试是否安装成功

  1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  2. 编辑/etc/fdfs/client.conf配置文件: sudo vim /etc/fdfs/client.conf

修改内容:

  1. base_path=/home/python/fastdfs/tracker
  2. tracker_server=自己ubuntu虚拟机的ip地址:22122

3. 上传文件测试:

  1. fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
  2. 如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功

安装nginx及fastdfs-nginx-module

  1. 解压缩 nginx-1.8.1.tar.gz
  2. 解压缩 fastdfs-nginx-module-master.zip
  3. 进入nginx-1.8.1目录中
  4. 执行
  5. sudo ./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module-master解压后的目录的绝对路径/src
  6. sudo ./make
  7. sudo ./make install
  8. sudo cp fastdfs-nginx-module-master解压后的目录中src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
  9. sudo vim /etc/fdfs/mod_fastdfs.conf

修改内容:

  1. connect_timeout=10
  2. 172.16.0.8
  3. tracker_server=自己ubuntu虚拟机的ip地址:22122
  4. url_have_group_name=true
  5. store_path0=/home/python/fastdfs/storage
  6. sudo cp 解压缩的fastdfs-master目录中的http.conf /etc/fdfs/http.conf
  7. sudo cp 解压缩的fastdfs-master目录中的mime.types /etc/fdfs/mime.types
  8. 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;
}
}

启动nginx

sudo /usr/local/nginx/sbin/nginx

 

推荐阅读