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

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

分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六) 系列文章目录
    需求分析——基于Django框架的天天生鲜电商网站项目系列博客(一)网站框架搭建——基于Django框架的天天生鲜电商网站项目系列博客(二)用户注册模块——基于Django框架的天天生鲜电商网站项目系列博客(三)用户登录模块——基于Django框架的天天生鲜电商网站项目系列博客(四)用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)分布式FastDFS文件系统——基于Django框架的天天生鲜电商网站项目系列博客(六)待更新……

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

文章目录

系列文章目录项目资源下载前言一、FastDFS文件系统简介

1.1 什么是FastDFS1.2 架构图示1.3 服务端的两个角色 二、FastDFS上传文件和下载文件流程

2.1 文件上传流程2.2 文件下载流程2.3 其他注意事项 三、FastDFS的安装和配置

3.1 安装FastDFS依赖包3.2 安装FastDFS3.3 配置跟踪服务器tracker3.4 配置存储服务器storage3.5 启动tracker和storage3.6 测试是否安装成功 四、Nginx配合FastDFS使用的安装和配置

4.1 安装nginx4.2 安装fastdfs-nginx-module的web服务器epoll 五、Nginx配合FastDFS使用的安装和配置六、项目上传图片和使用图片的流程七、自定义文件存储类八、改进自定义文件存储类总结


前言

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


一、FastDFS文件系统简介 1.1 什么是FastDFS

1.2 架构图示

1.3 服务端的两个角色

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

2.2 文件下载流程

2.3 其他注意事项

三、FastDFS的安装和配置 3.1 安装FastDFS依赖包
    解压缩libfastcommon-master.zip进入到libfastcommon-master的目录中执行./make.sh执行sudo ./make,sh install
3.2 安装FastDFS
    解压缩fastdfs-master.zip进入到fastdfs-master目录中执行./make,sh执行sudo ./make.sh install
3.3 配置跟踪服务器tracker
    sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf在/home/python/目录中创建目录fastdfs/tracker mkdir -p /home/python/fastdfs/tracker编辑/etc/fdfs/tracker.conf配置文件,sodu vim /etc/fdfs/tracker.conf修改base_path=/home/python/fastdfs/tracker
3.4 配置存储服务器storage
    sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf在/home/python/fastdfs/目录中创建目录storage mkdir -p /home/python/fastdfs/storage编辑/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
    sudo service fdfs_trackerd startsudo service fdfs_storaged start
3.6 测试是否安装成功
    sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf编辑/etc/fdfs/clien.conf配置文件sudo vim /etc/fdfs/client.conf修改内容:
    ①:base_path=/home/python/fastdfs/tracker
    ②:tracker_server=自己ubuntu虚拟机的ip地址:22122上传文件测试:fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件,如果返回类似group1/M00/00/00/rBIx6NcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
四、Nginx配合FastDFS使用的安装和配置 4.1 安装nginx
    解压缩nginx-1.8.1.tar.gz解压缩fastdfs-nginx-module-master.zip进入nginx-1.8.1目录中依次执行
    ①: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
    sudo cp fastdfs-nginx-module-master 解压后的目录中/src下的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/python/fastdfs/storagesudo cp解压缩的fastdfs-master目录conf目录中的http.conf/etc/fdfs/http.confsudo cp解压缩的fastdfs-master目录conf目录中的mime.types/etc/fdfs/mime.types修改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
五、Nginx配合FastDFS使用的安装和配置
    修改如下的配置文件(在/etc/fdfs目录中)
tracker_server=自己的ip地址:22122
    启动tracker、storage、nginx服务
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
sudo /usr/local/nginx/sbin/nginx
    执行如下命令测试是否成功,如果返回类似group1/M00/00/00/rBIx6NcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功,在浏览器中可以用127.0.0.1:8888/返回的文件id访问图片
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
六、项目上传图片和使用图片的流程

七、自定义文件存储类


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




总结

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5720480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存