zoukankan      html  css  js  c++  java
  • 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'xxx\utils\fastdfs\client.conf')
    # 创建客户端实例
    client = Fdfs_client(tracker_path)
    # 上传文件
    ret = client.upload_by_filename(r"C:\Users\xxx\1.png")
    

    成功后返回结果:

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

  • 相关阅读:
    160. 两个链表的相交点 Intersection of Two Linked Lists
    单链表的C#实现
    14. 字符串数组的最长公共前缀 Longest Common Prefix
    67. 二进制字符串相加 Add Binary
    .NET框架中SortedSet源码(红黑树)
    Guest CPU model configuration in libvirt with QEMU/KVM
    libvirt cpu mode
    host capability
    Stacktack overview
    Installing StackTach
  • 原文地址:https://www.cnblogs.com/macguz/p/14357933.html
Copyright © 2011-2022 走看看