zoukankan      html  css  js  c++  java
  • python-django框架中使用FastDFS分布式文件系统

    一、安装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也是在上面安装环境中配好的。

  • 相关阅读:
    sqlplus时报Linux-x86_64 Error: 13: Permission denied
    thrift之TTransport层的缓存传输类TBufferedTransport和缓冲基类TBufferBase
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 队列操作
    Java实现 蓝桥杯 算法提高 文本加密
    Java实现 蓝桥杯 算法提高 合并石子
  • 原文地址:https://www.cnblogs.com/wendj/p/10986003.html
Copyright © 2011-2022 走看看