【django】新闻模块——Docker安装运⾏FastDFS【26】

导读:本篇文章讲解 【django】新闻模块——Docker安装运⾏FastDFS【26】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、Docker安装运⾏FastDFS

1、获取FastDFS镜像

从仓库拉取镜像

$ sudo docker image pull delron/fastdfs

解压⽂档中本地镜像

$ sudo docker load -i ⽂件路径/fastdfs_docker.tar

2、开启tracker容器

我们将 tracker 运⾏⽬录映射到宿主机的 /var/fdfs/tracker⽬录中

sudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

3、开启storage容器

TRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不要使⽤127.0.0.1)
我们将 storage 运⾏⽬录映射到宿主机的 /var/fdfs/storage⽬录中。

$ sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=192.168.21.141:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

4、查看宿主机映射路径

注意:如果⽆法重启storage容器,可以删除/var/fdfs/storage/data⽬录下的fdfs_storaged.pid ⽂件,然后重新运⾏storage。

二、FastDFS客户端上传⽂件

1、安装FastDFS客户端扩展

安装模块虚拟环境中

$ pip install py3Fdfs
$ pip install mutagen
$ pip install requests

2、准备FastDFS客户端扩展的配置⽂件

mgproject.utils.fastdfs.client.conf
在这里插入图片描述

# connect timeout in seconds
# default value is 30s
connect_timeout=30
# network timeout in seconds
# default value is 30s
network_timeout=60
# the base path to store log files
base_path=/home/ynxiaolu/Desktop
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=ubuntu的ip地址:22122
通过ip addr查看ip地址

3.FastDFS客户端实现⽂件存储

使⽤ shell 进⼊ Python交互环境

$ python manage.py shell

1.导⼊FastDFS客户端扩展

from fdfs_client.client import Fdfs_client, get_tracker_conf

2.创建FastDFS客户端实例

tracker_path = get_tracker_conf('/home/zhilong/Desktop/mangguo/mgproject/mgproject/utils/fastdfs/client.conf')

client = Fdfs_client(tracker_path)

3.调⽤FastDFS客户端上传⽂件⽅法ret

ret = client.upload_by_filename('/home/zhilong/Desktop/p2p.png')
{
'Group name': b'group1', 
'Remote file_id': b'group1/M00/00/00/wKgRgWJs32iAAT3cAAcYu3-y8c4815.png', 
'Status': 'Upload successed.', 
'Local file name': '/home/zhilong/Desktop/p2p.png', 
'Uploaded size': '454.18KB', 
'Storage IP': b'192.168.17.129'
}

4、查看容器中的图片

zhilong@zhilong-virtual-machine:/bin$ cd /var/fdfs/storage
zhilong@zhilong-virtual-machine:/var/fdfs/storage$ ls
data  logs
zhilong@zhilong-virtual-machine:/var/fdfs/storage$ cd  data
zhilong@zhilong-virtual-machine:/var/fdfs/storage/data$ ls
00  09  12  1B  24  2D  36  3F  48  51  5A  63  6C  75  7E  87  90  99  A2  AB  B4  BD  C6  CF  D8  E1  EA  F3  FC
01  0A  13  1C  25  2E  37  40  49  52  5B  64  6D  76  7F  88  91  9A  A3  AC  B5  BE  C7  D0  D9  E2  EB  F4  FD
02  0B  14  1D  26  2F  38  41  4A  53  5C  65  6E  77  80  89  92  9B  A4  AD  B6  BF  C8  D1  DA  E3  EC  F5  fdfs_storaged.pid
03  0C  15  1E  27  30  39  42  4B  54  5D  66  6F  78  81  8A  93  9C  A5  AE  B7  C0  C9  D2  DB  E4  ED  F6  FE
04  0D  16  1F  28  31  3A  43  4C  55  5E  67  70  79  82  8B  94  9D  A6  AF  B8  C1  CA  D3  DC  E5  EE  F7  FF
05  0E  17  20  29  32  3B  44  4D  56  5F  68  71  7A  83  8C  95  9E  A7  B0  B9  C2  CB  D4  DD  E6  EF  F8  storage_stat.dat
06  0F  18  21  2A  33  3C  45  4E  57  60  69  72  7B  84  8D  96  9F  A8  B1  BA  C3  CC  D5  DE  E7  F0  F9  sync
07  10  19  22  2B  34  3D  46  4F  58  61  6A  73  7C  85  8E  97  A0  A9  B2  BB  C4  CD  D6  DF  E8  F1  FA
08  11  1A  23  2C  35  3E  47  50  59  62  6B  74  7D  86  8F  98  A1  AA  B3  BC  C5  CE  D7  E0  E9  F2  FB
zhilong@zhilong-virtual-machine:/var/fdfs/storage/data$ cd 00
zhilong@zhilong-virtual-machine:/var/fdfs/storage/data/00$ ls
00  08  10  18  20  28  30  38  40  48  50  58  60  68  70  78  80  88  90  98  A0  A8  B0  B8  C0  C8  D0  D8  E0  E8  F0  F8
01  09  11  19  21  29  31  39  41  49  51  59  61  69  71  79  81  89  91  99  A1  A9  B1  B9  C1  C9  D1  D9  E1  E9  F1  F9
02  0A  12  1A  22  2A  32  3A  42  4A  52  5A  62  6A  72  7A  82  8A  92  9A  A2  AA  B2  BA  C2  CA  D2  DA  E2  EA  F2  FA
03  0B  13  1B  23  2B  33  3B  43  4B  53  5B  63  6B  73  7B  83  8B  93  9B  A3  AB  B3  BB  C3  CB  D3  DB  E3  EB  F3  FB
04  0C  14  1C  24  2C  34  3C  44  4C  54  5C  64  6C  74  7C  84  8C  94  9C  A4  AC  B4  BC  C4  CC  D4  DC  E4  EC  F4  FC
05  0D  15  1D  25  2D  35  3D  45  4D  55  5D  65  6D  75  7D  85  8D  95  9D  A5  AD  B5  BD  C5  CD  D5  DD  E5  ED  F5  FD
06  0E  16  1E  26  2E  36  3E  46  4E  56  5E  66  6E  76  7E  86  8E  96  9E  A6  AE  B6  BE  C6  CE  D6  DE  E6  EE  F6  FE
07  0F  17  1F  27  2F  37  3F  47  4F  57  5F  67  6F  77  7F  87  8F  97  9F  A7  AF  B7  BF  C7  CF  D7  DF  E7  EF  F7  FF
zhilong@zhilong-virtual-machine:/var/fdfs/storage/data/00$ cd 00
zhilong@zhilong-virtual-machine:/var/fdfs/storage/data/00/00$ ls
wKgRgWJs32iAAT3cAAcYu3-y8c4815.png

三、浏览器下载并渲染图⽚

思考:如何才能找到在Storage中存储的图⽚?

1、协议:
http
2、IP地址:192.168.xx.xx
a、Nginx服务器的IP地址。
b、因为 FastDFS 擅⻓存储静态⽂件,但是不擅⻓提供静态⽂件的下载服务,所以我们⼀般会将 Nginx 服务器绑定到 Storage ,提升下载性能。
3、端⼝:8888
a、Nginx服务器的端⼝。
4、路径:group1/M00/00/00/wKgVjV_i_qWAIWJWAABF9c0Vj0Y27.jpeg
⽂件在Storage上的⽂件索引。
5、完整图片下载地址
http://192.168.xx.xx:8888/group1/M00/00/00/wKgRgWJs32iAAT3cAAcYu3-y8c4815.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/74076.html

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!