一、安装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镜像 (阶段4-06-10-02)
二选一
# 从仓库拉取镜像
$ sudo docker image pull delron/fastdfs
# 解压我这里的本地镜像 √? -->>>? 请用我这个,pull下来的用我这个方法不知道行不行
? ? ? ? 地址:链接:https://pan.baidu.com/s/1AJjGYsv7iyRCXHZuXi0Skg? ????????提取码:i9b0?
$ sudo docker load -i 文件路径/fastdfs_docker.tar
2.开启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-for-windows.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://192.168.147.130: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)
|