一、安装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.264.设置开机启动: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)