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

  • 相关阅读:
    javascript package
    javascript 的forEach函数
    JavaScript 缓存函数
    javascript String
    javascript的动态this与动态绑定
    CSS Position Fixed for IE6
    raphaeljs图形库学习笔记
    javascript wrapper函数
    javascript框架之继承机制3
    javascript 超级字符串对象
  • 原文地址:https://www.cnblogs.com/wendj/p/10986003.html
Copyright © 2020-2023  润新知