分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)

系列文章目录

  1. 需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)
  2. 网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)
  3. 用户注册模块——基于Django框架的天天生鲜电商网站项目系列博客(三)
  4. 用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)
  5. 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  6. 分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)
  7. 首页——基于Django框架的天天生鲜电商网站项目系列博客(七)
  8. 详情页——基于Django框架的天天生鲜电商网站项目系列博客(八)
  9. 列表页——基于Django框架的天天生鲜电商网站项目系列博客(九)
  10. 商品搜索——基于Django框架的天天生鲜电商网站项目系列博客(十)
  11. 购物车记录添加——基于Django框架的天天生鲜电商网站项目系列博客(十一)
  12. 购物车记录更新——基于Django框架的天天生鲜电商网站项目系列博客(十二)
  13. 订单生成——基于Django框架的天天生鲜电商网站项目系列博客(十三)
  14. 订单并发处理——基于Django框架的天天生鲜电商网站项目系列博客(十四)
  15. 订单支付和评论——基于Django框架的天天生鲜电商网站项目系列博客(十五)
  16. 网站部署——基于Django框架的天天生鲜电商网站项目系列博客(十六)
  17. 项目总结——基于Django框架的天天生鲜电商网站项目系列博客(十七)

项目资源下载

  1. 天天生鲜电商网站项目源码Github地址(可Fork可Clone)
  2. 天天生鲜电商网站项目源码Gitee地址(可Fork可Clone)
  3. 天天生鲜电商网站项目源码压缩包下载(直接使用)
  4. 天天生鲜电商网站项目所需全部工具合集打包下载(nginx、libfastcommon、fastdfs-nginx、fastdfs)
  5. 天天生鲜电商网站项目MySql数据库文件(直接导入MySql数据库)
  6. Django1.8官方文档(中文版)


前言

  今天是除夕,先祝各位读者新年快乐哈哈,今天给大家带来的是分布式分拣系统FastDFS,但是我先写在前面,对于有些小伙伴来说这里的知识可能比较困难,如果真的感觉不太好弄的小伙伴我和你说这个并不是必选项,对于只是想把这个网站搭建起来的话,完全可以不用这个模块,因为我第一遍搭建网站的时候嫌麻烦就没弄这里,所以不想弄也没关系,但是知识建议学一学,当然做了更好,如果没做的话,后面的博客我也会介绍不用这个东西怎么进行数据交互,放心好啦。我们使用这个文件系统实现网站所有图片的管理,实现了冗余备份、负载均衡、线性拓展等机制。并且与Nginx配合使用,使用python与FastDFS交互,以及FastDFS的安装配置和整个项目中上传和使用图片的流程,那么,就开始今天的学习吧!


一、FastDFS文件系统简介

1.1 什么是FastDFS

在这里插入图片描述

1.2 架构图示

在这里插入图片描述

1.3 服务端的两个角色

在这里插入图片描述

二、FastDFS上传文件和下载文件流程

2.1 文件上传流程

在这里插入图片描述

2.2 文件下载流程

在这里插入图片描述

2.3 其他注意事项

在这里插入图片描述

三、FastDFS的安装和配置

3.1 安装FastDFS依赖包

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

3.2 安装FastDFS

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

3.3 配置跟踪服务器tracker

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

3.4 配置存储服务器storage

  1. sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
  2. /home/python/fastdfs/目录中创建目录storage mkdir -p /home/python/fastdfs/storage
  3. 编辑/etc/fdfs/storage.conf配置文件,sodu vim /etc/fdfs/storage.conf修改内容:
    ①:base_path=/home/python/fastdfs/storage
    ②:store_path0=/home/python/fastdfs/storage
    ③:tracker_server=自己ubuntu虚拟机的ip地址:22122

3.5 启动tracker和storage

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

3.6 测试是否安装成功

  1. sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
  2. 编辑/etc/fdfs/clien.conf配置文件sudo vim /etc/fdfs/client.conf修改内容:
    ①:base_path=/home/python/fastdfs/tracker
    ②:tracker_server=自己ubuntu虚拟机的ip地址:22122
  3. 上传文件测试:fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件,如果返回类似group1/M00/00/00/rBIx6NcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功

四、Nginx配合FastDFS使用的安装和配置

4.1 安装nginx

  1. 解压缩nginx-1.8.1.tar.gz
  2. 解压缩fastdfs-nginx-module-master.zip
  3. 进入nginx-1.8.1目录中
  4. 依次执行
    ①:sudo ./configure --prefix=/usr/local/nginx/ --add--module=fastdfs-nginx-module-master 解压后的目录的绝对路径/src
    ②:sudo ./make
    ③:sudo ./make install

4.2 安装fastdfs-nginx-module的web服务器epoll

  1. sudo cp fastdfs-nginx-module-master 解压后的目录中/src下的mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
  2. 修改sudo vim /etc/fdfs/mod_fastdfs,conf内容:
    ①:connect_timeout=10
    ②:tracker_server=自己ubuntu虚拟机的ip地址:22122
    ③:url_have_group_name=true
    ④:store_path0=/home/python/fastdfs/storage
  3. sudo cp解压缩的fastdfs-master目录conf目录中的http.conf/etc/fdfs/http.conf
  4. sudo cp解压缩的fastdfs-master目录conf目录中的mime.types/etc/fdfs/mime.types
  5. 修改sudo vim /usr/local/nginx/conf/nginx.confhttp部分中添加配置信息如下:
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;
	}
}
  1. 启动nginx
sudo /usr/local/nginx/sbin/nginx

五、Nginx配合FastDFS使用的安装和配置

  1. 修改如下的配置文件(在/etc/fdfs目录中)
    在这里插入图片描述
tracker_server=自己的ip地址:22122
  1. 启动tracker、storage、nginx服务
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
sudo /usr/local/nginx/sbin/nginx
  1. 执行如下命令测试是否成功,如果返回类似group1/M00/00/00/rBIx6NcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功,在浏览器中可以用127.0.0.1:8888/返回的文件id访问图片
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件

六、项目上传图片和使用图片的流程

在这里插入图片描述

七、自定义文件存储类

在这里插入图片描述
在这里插入图片描述

八、改进自定义文件存储类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

  终于写完了,前期准备工作也彻底完成了,从下篇博客开始,就是网站的首页编写和数据的导入以及应用了,也快让我们的网站“活”起来啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IronmanJay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值