一、安装FastDFS

1-1:执行docker命令安装

# 安装tracker
docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs youkou1/fastdfs tracker # 安装storage
docker run -dti --network=host --name storage -e TRACKER_SERVER=IP地址:22122 -v /var/fdfs/storage:/var/fdfs youkou1/fastdfs storage

1-2 测试是否安装成功:执行命令 docker ps -a

TRACKER_SERVER:IP地址说明不要使用lo 和docker下的IP地址因为在安装镜像中配的是enp3s0下面的IP地址。

1-3、在项目中创建客户端配置文件  fastdfs/client.conf

client.conf配置文件内容:注意tracker_serverIP地址。

# 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=utils/fastdfs/logs # tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.31.170:22122 #standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level=info # if use connection pool
# default value is false
use_connection_pool = false # connections whose the idle time exceeds this time will be closed
# unit: second
# default value is 3600
connection_pool_max_idle_time = 3600 # if load FastDFS parameters from tracker server
# default value is false
load_fdfs_parameters_from_tracker=false # if use storage ID instead of IP address
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# default value is false
use_storage_id = false # specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
storage_ids_filename = storage_ids.conf #HTTP settings
http.tracker_server_port=80

1-4:在xhell中进入项目的虚拟环境安装python相关包 (在虚拟环境中)

# 安装相关包
pip install fdfs_client.zip
pip install mutagen
pip install requests

1-5:如果pip install fdfs_client.zip 安装报错

请执行如下命令

sudo apt-get install python3 python-dev python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python-pip

  

然后在执行安装命令:

查看所安装的包:

分析上传步骤: 
  1) 指定图片绝对地址 
  2) 指定图片服务器地址;使用 Client.conf 配置文件 
  3) 加载图片服务器,连接图片服务器 
  4) 创建图片服务器 tracker 客户端 
  5) 从客户端获取 tracker 连接 

  6) 创建 storage 客户端,存储图片

测试代码:

from fdfs_client.client import Fdfs_client
FDFS_Client = Fdfs_client('/common/fastdfs/client.conf')
ret = FDFS_Client.upload_by_filename('/media/2018.png')
print(ret)

  如果执行不报错,返回结果如下说明就成功了:

1-6 如果进行测试 以下报的是语法错误,这个明显是python2的语法,我现在用的是python3,进过查询相关资料,决定换一个不用 pip install fdfs_client.zip

删除   fdfs_client.zip  执行命令

 pip uninstall fdfs_client-py

  

使用pip install py3Fdfs

再次测试:

在浏览器中查看:

http://192.168.31.170:8888/group1/M00/00/00/wKgfqlz5yYyAHe5nAAfh_rrm7jw601.png

注意:这里的端口8888也是在上面安装环境中配好的。

python-django框架中使用FastDFS分布式文件系统的更多相关文章

  1. django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

    运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.16 ...

  2. 分布式队列celery 异步----Django框架中的使用

    仅仅是个人学习的过程,发现有问题欢迎留言 一.celery 介绍 celery是一种功能完备的即插即用的任务对列 celery适用异步处理问题,比如上传邮件.上传文件.图像处理等比较耗时的事情 异步执 ...

  3. Python的Django框架中forms表单类的使用方法详解

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  4. Python的Django框架中的Cookie相关处理

    Python的Django框架中的Cookie相关处理 浏览器的开发人员在非常早的时候就已经意识到. HTTP's 的无状态会对Web开发人员带来非常大的问题,于是(cookies)应运而生. coo ...

  5. Python的Django框架中的Context使用

    Python的Django框架中的Context使用 近期整理些Python方面的知识,一旦你创建一个 Template 对象,你能够用 context 来传递数据给它. 一个context是一系列变 ...

  6. Python中的Django框架中prefetch_related()函数对数据库查询的优化

    实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡.居住地.以及到过的城市.数据库设计如下: Models.py 内容如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  7. Python的Django框架中的URL配置与松耦合

    Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...

  8. FastDFS分布式文件系统

    FastDFS分布式文件系统 阅读目录 相关文章 1 分布式文件系统介绍 2 系统架构介绍 3 FastDFS性能方案 4 Linux基本命令操作 5 安装VirtualBox虚拟机并配置Ubuntu ...

  9. FastDFS 分布式文件系统的安装与使用(单节点)

    FastDFS 分布式文件系统的安装与使用(单节点) 跟踪服务器:192.168.4.121 (edu-dfs-tracker-01) 存储服务器:192.168.4.125 (edu-dfs-sto ...

随机推荐

  1. View 视图动画基础

  2. 在win7下使用git和gitlab进行code review

    1.安装 Git-2.6.3-64-bit.exe  下载地址:http://pan.baidu.com/s/1hqGvwnq 2.根据收到的邮件进入gitlab网站,并修改密码登陆 3.新建一个文件 ...

  3. Google IO 2019 Android 太长不看版

    Google I/O 2019, 这里有个playlist是所有Android开发相关的session视频合集: Android & Play at Google I/O 2019 当然啦每个 ...

  4. vector缩减容量

    在C++标准库容器vector的容量是不会自动的缩减的,也就是说删除元素操作,其引用.指针.迭代器也会继续有效.那么当在一个较大的vector中删除了大量的元素之后,其实际的size比较小,而其cap ...

  5. Linux下新建oracle用户

    su - oraclesqlplus / as sysdba the procedure of dropping user are as follow: select sid,serial# from ...

  6. URAL - 1297 Palindrome —— 后缀数组 最长回文子串

    题目链接:https://vjudge.net/problem/URAL-1297 1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB ...

  7. ss命令能识别的TCP状态的关键字

    [TCP_ESTABLISHED] = "ESTAB",         [TCP_SYN_SENT] = "SYN-SENT",         [TCP_S ...

  8. 分享知识-快乐自己:SpringMvc中 页面日期格式到后台的类型转换

    日期格式的类型转换: 以往在 from 表单提交的时候,都会有字符串.数字.还有时间格式等信息. 往往如果是数字提交的话底层会自动帮我们把类型进行了隐式转换. 但是日期格式的却不能自动转换,这就需要我 ...

  9. LoadRunner监控图表与配置(二)监控运行状况和交易状况

    1.在左侧Available Graphs视图中展开Runtime Graphs节点,选择其中一种类型添加至控制器运行标签的界面. 2.在图中显示的空白区域点击右键,在弹出的快捷菜单中选择config ...

  10. 【boost】使用serialization库序列化子类

    boost.serialization库是一个非常强大又易用的序列化库,用于对象的保存与持久化等. 使用base_object可以在序列化子类的同时也序列化父类,以此获得足够的信息来从文件或网络数据中 ...