利用docker安装fastdfs

一、安装docker

               本机阿里云centos7,如非此系统仅供参考,如您已安装docker可直接看(二、安装fastdfs)

1.安装:yum install -y docker

2.开启docker:systemctl start docker.service

3.查看安装结果:docker version

                Client:
                         Version:         1.13.1
                         API version:     1.26

4.设置开机启动:systemctl enable docker.service

5.配置DOCKER镜像下载加速

        vim /etc/docker/daemon.json

        在其中加入{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }

6.加载配置并重启

        systemctl daemon-reload

        systemctl restart docker.service

二、安装fastdfs

1.获取FastDFS镜像

二选一

# 从仓库拉取镜像

$ sudo docker image pull delron/fastdfs

# 解压我这里的本地镜像 √  -->>>  请用我这个,pull下来的用我这个方法不知道行不行

        地址:链接:https://pan.baidu.com/s/1AJjGYsv7iyRCXHZuXi0Skg 
        提取码:i9b0 

$ sudo docker load -i 文件路径/fastdfs_docker.tar

2.开启tracker容器

  • 将 tracker 运行目录映射到宿主机的 /var/fdfs/tracker目录中。

$ sudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker

3.开启storage容器

  • TRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不要使用127.0.0.1),如ip地址更改,需删除storage再重开(注意:如果无法重启storage容器,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage。)

  • 将 storage 运行目录映射到宿主机的 /var/fdfs/storage目录中。

$ sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=222.233.121.88:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

查看安装结果: sudo docker container ls --all            或     docker ps -a

4.开放端口

            22122,8888,23000(防火墙,阿里云)

防火墙

        开放以上防火墙端口:firewall-cmd --zone=public --add-port=22122/tcp --permanent

        重启防火墙:firewall-cmd --reload

        查看端口是否开放:firewall-cmd --list-all

三、查看是否可运行

        到此已经安装完了,可以测试了,我用的python-django框架,仅供参考

1.安装fastdfs客户端

        链接:https://pan.baidu.com/s/1T48qcoN0vjUTGE_B3Lrbtg 
        提取码:8l50 

1.安装:pip install fdfs_client-py-master.zip

2.安装依赖:

        pip install mutagen

        pip install requests

3.准备客户端配置文件

        >>>首先要有一个项目

                django-admin startproject object

        >>>setting.py同级目录中创建utils文件夹,放fastdfs文件夹,该文件夹在网盘自提

                链接:https://pan.baidu.com/s/18YIgTkAuKGO3KFUGfE-4zw 
                提取码:mmzq 

        >>>修改object.utils.fastdfs.client.conf

                base_path=FastDFS客户端存放日志文件的目录

                tracker_server=运行Tracker服务的机器ip:22122

4.setting.py中配置

        # 指定自定义的Django文件存储类

        DEFAULT_FILE_STORAGE ='object.utils.fastdfs.fdfs_storage.FastDFSStorage'

        # FastDFS相关参数

        FDFS_BASE_URL = 'http://222.233.121.88:8888/'   # storageIP地址

2.检查是否可用 

# 使用 shell 进入 Python交互环境

        $ python manage.py shell

——————————

1. 导入FastDFS客户端扩展

        >>>from fdfs_client.client import Fdfs_client

2. 创建FastDFS客户端实例

        >>>client = Fdfs_client('这里写client.conf路径 ')

3. 调用FastDFS客户端上传文件方法

        >>>ret = client.upload_by_filename('D:/屏幕截屏/aaaaaa.png')   # 按照文件名上传文件

        >>>ret = client.upload_by_buffer('file.read()')   # 以二进制方式读取文件并上传,read()读取为二进制

4. 查看返回结果

        >>>ret

        如返回以下内容则可使用

         {'Group name': 'group1', 'Remote file_id': 'group1\\M00/00/00/rBRjeWGfoL
2ASmaKAABH6rPlun8319.png', 'Status': 'Upload successed.', 'Local file na
me': 'D:/屏幕截屏/aaaaaa.png', 'Uploaded size': '17.00KB', 'Storage IP':
 '222.233.121.88'}

5.删除

                file_id = "group1/M00/00/02/rBAAQWCt48iAUX7DAA-s5fjCGo402.docx"

               client.delete_file(file_id)

运行时如报错

No module named ‘mutagen._compat‘

>>>vim  /usr/local/lib/python3.8/dist-packages/fdfs_client/utils.py

修改:from mutagen._senf._compat import StringIO导包路径为
from mutagen._senf._compat import StringIO

3.使用

# 1. 导入FastDFS客户端扩展
from fdfs_client.client import Fdfs_client


# 2. 创建FastDFS客户端实例
client = Fdfs_client('object/utils/fastdfs/client.conf')


# 3. 调用FastDFS客户端上传文件方法

ret = client.upload_by_filename('D:/屏幕截屏/aaaaaa.png')  # 按照文件名上传文件

ret = client.upload_by_buffer('file.read()')   # 以二进制方式读取文件并上传,read()读取为二进制

# 4.删除

                file_id = "group1/M00/00/02/rBAAQWCt48iAUX7DAA-s5fjCGo402.docx"

               client.delete_file(file_id)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值