# 从仓库拉取镜像
$ sudo docker image pull delron/fastdfs
# 解压教学资料中本地镜像
$ sudo docker load -i 文件路径/fastdfs_docker.tar
$ sudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
注意:如果无法重启storage容器,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage。
$ pip install fdfs_client-py-master.zip
$ pip install mutagen
$ pip isntall requests
meiduo_mall.utils.fastdfs.client.conf
base_path=FastDFS客户端存放日志文件的目录
tracker_server=运行Tracker服务的机器ip:22122
# 使用 shell 进入 Python交互环境
$ python manage.py shell
# 1. 导入FastDFS客户端扩展 from fdfs_client.client import Fdfs_client # 2. 创建FastDFS客户端实例 client = Fdfs_client('meiduo_mall/utils/fastdfs/client.conf') # 3. 调用FastDFS客户端上传文件方法 ret = client.upload_by_filename('/Users/chao/Desktop/kk.jpeg') ret = { 'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg', 'Status': 'Upload successed.', 'Local file name': '/Users/chao/Desktop/kk.jpeg', 'Uploaded size': '69.00KB', 'Storage IP': '192.168.103.210' } ret = { 'Group name': 'Storage组名', 'Remote file_id': '文件索引,可用于下载', 'Status': '文件上传结果反馈', 'Local file name': '上传文件全路径', 'Uploaded size': '文件大小', 'Storage IP': 'Storage地址' }思考:如何才能找到在Storage中存储的图片?
协议: http IP地址:192.168.103.210 Nginx服务器的IP地址。因为 FastDFS 擅长存储静态文件,但是不擅长提供静态文件的下载服务,所以我们一般会将 Nginx 服务器绑定到 Storage ,提升下载性能。 端口:8888 Nginx服务器的端口。 路径:group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg 文件在Storage上的文件索引。 完整图片下载地址http://192.168.103.210:8888/group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg
编写测试代码:meiduo_mall.utils.fdfs_t.html
<img src="http://192.168.103.210:8888/group1/M00/00/00/wKhnnlxw_gmAcoWmAAEXU5wmjPs35.jpeg" width="320" height="480">
1. SQL脚本录入商品数据
$ mysql -h127.0.0.1 -uroot -pmysql meiduo_mall < 文件路径/goods_data.sql
2. FastDFS服务器录入图片数据
1.准备新的图片数据压缩包
2.删除 Storage 中旧的data目录
3.拷贝新的图片数据压缩包到 Storage,并解压
# 解压命令 sudo tar -zxvf data.tar.gz
4.查看新的data目录
FastDFS客户端扩展的配置文件模板下载
链接:https://pan.baidu.com/s/1VwjKFbGmRcQkVsXwGaMsmQ
提取码:j58n