• Docker+fastDFS安装配置并在Python中应用


    一、下载安装Docker:

    1. 下载和安装Docker

    2. 如果使用CentOS系统,可能会在安装Docker时遇到以下错误:

      File "/usr/bin/yum-config-manager", line 133 except yum.Errors.RepoError, e:
      

      这是由于yum的包管理使用python2,因此系统默认的环境变量python就是python2。

      如果你将python默认改为python3,yum-config-manager就会报错。

      # 打开配置文件, 将第一行的python改为python2
      vim /usr/bin/yum-config-manager
      


    二、安装fastDFS:

    1. 拉取镜像:

      sudo docker pull delron/fastdfs
      
    2. 构建tracker容器:

      docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs -v /etc/localtime:/etc/localtime delron/fastdfs tracker
      
    3. 构建storage容器:

      docker run -dti  --network=host --name storage -e TRACKER_SERVER=192.168.56.1:22122 -v /var/fdfs/storage:/var/fdfs  -v /etc/localtime:/etc/localtime  delron/fastdfs storage
      

      # 这里的TRACKER_SERVER可以设置为内网IP或公网IP,不要设置为本机地址127.0.0.1。如果fastDFS配置在远程服务器上,需要设置为公网IP。

      # 如果之后重启storage失败,需要进入/var/fdfs/storage/data,删除pid:


    三、配置防火墙、开放端口:

    可以直接在腾讯云控制台中点击防火墙,添加自定义规则,开放TCP协议22122端口和23000端口。


    四、在应用中配置client.conf:

    connect_timeout=30
    network_timeout=60
    tracker_server=xxx:22122  # 这里设置为你tracker_server的ip,如果使用远程服务器,使用公网ip
    log_level=info
    use_connection_pool = false
    connection_pool_max_idle_time = 3600
    load_fdfs_parameters_from_tracker=false
    use_storage_id = false
    storage_ids_filename = storage_ids.conf
    http.tracker_server_port=80
    

    五、测试上传图片:

    1、在python中配置fastDFS:

    pip install py3Fdfs
    pip install mutagen
    pip isntall requests
    

    2、编写测试代码:

    from fdfs_client.client import Fdfs_client,get_tracker_conf
    
    tracker_path = get_tracker_conf(r'xxxutilsfastdfsclient.conf')
    # 创建客户端实例
    client = Fdfs_client(tracker_path)
    # 上传文件
    ret = client.upload_by_filename(r"C:Usersxxx1.png")
    

    成功后返回结果:

    上传的结果可以在配置了fastDFS的服务器的8888端口访问到(需要在防火墙中开放8888端口)。

  • 相关阅读:
    SuperSocket框架中BinaryRequestInfo协议的使用
    UIImageView学习笔记
    UITextField学习小结
    Java数据结构相关类的实现原理
    Android 中把尺寸转换方法
    Win8 & WP8.1 轻型数据库
    隐私策略
    Windows 10(UWP)开发技巧
    【UWP】FFmpeg库的编译
    【UWP】拖拽列表项的排序功能实现
  • 原文地址:https://www.cnblogs.com/enmac/p/14357933.html
Copyright © 2020-2023  润新知