python-django框架中使用FastDFS分布式文件系统

一、安装FastDFS

1-1:执行docker命令安装

bash;gutter:true; 安装tracker docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs youkou1/fastdfs tracker</p> <p>安装storage docker run -dti --network=host --name storage -e TRACKER_SERVER=IP地址:22122 -v /var/fdfs/storage:/var/fdfs youkou1/fastdfs storage</p> <pre><code> ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190606164510046-785549930.png) 1-2 测试是否安装成功:执行命令 docker ps -a ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190606164729146-918427621.png) **TRACKER_SERVER:IP地址说明不要使用lo 和docker下的IP地址因为在安装镜像中配的是enp3s0下面的IP地址。** ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190606160130523-257019520.png) 1-3、在项目中创建客户端配置文件 fastdfs/client.conf ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190606162541999-548615857.png) client.conf配置文件内容:注意tracker_serverIP地址。 ;gutter:true;
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相关包 (在虚拟环境中)

bash;gutter:true; 安装相关包 pip install fdfs_client.zip pip install mutagen pip install requests</p> <pre><code> 1-5:如果pip install fdfs_client.zip 安装报错 ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190607084618170-1406672813.png) 请执行如下命令 ;gutter:true;
sudo apt-get install python3 python-dev python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev python-pip

python-django框架中使用FastDFS分布式文件系统

然后在执行安装命令:

python-django框架中使用FastDFS分布式文件系统

查看所安装的包:

python-django框架中使用FastDFS分布式文件系统

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

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

测试代码:

python;gutter:true; 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)</p> <pre><code> 如果执行不报错,返回结果如下说明就成功了: ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190610090305363-448738004.png) 1-6 如果进行测试 以下报的是语法错误,这个明显是python2的语法,我现在用的是python3,进过查询相关资料,决定换一个不用 pip install fdfs_client.zip ![python-django框架中使用FastDFS分布式文件系统](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/1145331-20190607095941155-230334554.png) 删除 fdfs_client.zip 执行命令 ;gutter:true;
pip uninstall fdfs_client-py

使用pip install py3Fdfs

python-django框架中使用FastDFS分布式文件系统

再次测试:

python-django框架中使用FastDFS分布式文件系统

在浏览器中查看:

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

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

Original: https://www.cnblogs.com/wendj/p/10986003.html
Author: begrateful
Title: python-django框架中使用FastDFS分布式文件系统

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576514/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • SpringMVC完整学习!!!

    1.楔子 1.1、了解MVC 1.2、MVC框架的主要功能 2.初识SpringMVC 2.1、为什么要学习SpringMVC 2.2、了解SpringMVC 3.入门项目初体验!…

    数据库 2023年6月16日
    086
  • day05-离线留言和离线文件

    多用户即时通讯系统05 4.编码实现04(拓展) 拓展功能: 实现离线留言,如果某个用户不在线 ,当登陆后,可以接收离线的消息 实现离线发文件,如果某个功能没有在线,当登录后,可以…

    数据库 2023年6月11日
    078
  • Dockerfile创建apache镜像(alpine)

    alpine系统 alpine系统 alpine系统是什么 alpine系统的特点 alpine镜像下载 alpine国内源 alpine基础命令 服务管理 关闭系统 docker…

    数据库 2023年6月14日
    0140
  • MySQL 8 新特性之Clone Plugin

    Clone Plugin是MySQL 8.0.17引入的一个重大特性,为什么要实现这个特性呢?个人感觉,主要还是为Group Replication服务。在Group Replic…

    数据库 2023年6月11日
    0116
  • MYSQL性能优化以及建议

    1、业务代码组合逻辑后进行数据库操作,如根据波次进行库存分配,可以将波次里面的订单所有明细进行分组,然后匹配库存。2、将大字段、不常用字段放置到扩展表中,将经常使用(状态、数量、编…

    数据库 2023年5月24日
    069
  • 有道云笔记迁移到为知笔记

    背景 &#x4E4B;&#x524D;&#x4E00;&#x76F4;&#x7528;&#x7684;&#x6709;&am…

    数据库 2023年6月9日
    092
  • 开源之夏 2022 与您相约

    活动简介 “开源之夏(英文简称 OSPP)”是中科院软件所”开源软件供应链点亮计划”指导下的一项面向高校学生的暑期活动,由中国科学院…

    数据库 2023年5月24日
    0117
  • 基于Vue的二进制时钟组件 — fx67llBinaryClock

    fx67llClock Easy & Good Clock ! npm 组件说明 一个基于Vue的二进制时钟组件,没什么卵用,做着好玩,可以方便您装饰个人主页 使用步骤 n…

    数据库 2023年6月11日
    085
  • MySQL 存储过程和函数

    创建存储过程和函数 创建存储过程和函数就是将经常使用的一组 SQL 语句组合在一起,并将这些 SQL 语句当作一个整体存储在 MySQL 服务器 CREATE PROCEDURE …

    数据库 2023年5月24日
    0122
  • idea 自定义注释模板

    自定义的格式: html;gutter:true; * * * @Description * $param$ * @Author $user$ * @Date $time$ $da…

    数据库 2023年6月16日
    056
  • 浅谈DDD中的聚合

    DDD分为战略部分跟战术部分,相信大家都认同DDD的核心在战略而非战术。而战略方面的核心我认为在业务建模,领域划分、统一语言等都在为业务建模服务。 为什么业务建模重要? 以前的开发…

    数据库 2023年6月14日
    081
  • day02-MySQL基础知识

    MySQL基本知识 1.数据库 1.1.创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specificatio…

    数据库 2023年6月11日
    096
  • linux学习之联网问题解决

    (centos7)linux隔日重启后发现无法联网解决方案 1.运行命令 ip addr 查看 ip地址 2.运行命令 vi /etc/sysconfig/network-scri…

    数据库 2023年6月16日
    092
  • MySQL InnoDB索引原理

    数据库与I/O原理 数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。 I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数…

    数据库 2023年5月24日
    091
  • zabbix模板,角色,用户,权限管理

    用户管理 用户组 用户角色 用户 模板管理 模板组 模板 posted @2022-09-07 22:22 溜溜威 阅读(16 ) 评论() 编辑 Original: https:…

    数据库 2023年6月14日
    0107
  • 创建Django项目

    2022-09-24 在创建Django项目时,出现了 错误,查了一下,发现要创建一个Django项目,需要先使用命令: python -m pip install pytz 安装…

    数据库 2023年6月14日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球