40 Python操作FastDFS——自己搭建文件服务器

1 启动FastDFS

复制代码
# 拉取镜像
docker pull liuqingzheng/fastdfs:v1
# 创建目录 
mkdir /home/tracker
mkdir /home/storage
# 使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)
docker run -d --network=host --name tracker -v /home/tracker:/var/fdfs liuqingzheng/fastdfs:v1 tracker
#使用docker镜像构建storage容器(存储服务器,提供容量和备份服务)
# 修改成你的ip地址
docker run -d --network=host --name storage -e TRACKER_SERVER=101.133.225.166:22122 -v /home/storage:/var/fdfs -e GROUP_NAME=group1 liuqingzheng/fastdfs:v1 storage 

#此时两个服务都以启动, 进行服务的配置
#进入storage容器, 到storage的配置文件中配置http访问的端口, 配置文件在/etc/fdfs目录下的storage.conf
docker exec -it storage /bin/bash
vi /etc/fdfs/storage.conf

# 如果是阿里云,一定确认端口是否开启:888822122,23000端口
复制代码

2 python3 操作FastDFS

第一步:安装模块

# 第一步:安装模块
pip3 install py3Fdfs

第二步:在项目目录下新建client.conf

connect_timeout=30
network_timeout=60
tracker_server = 101.133.225.166:22122
# tracker服务器的端口
http.tracker_server_port = 8888

第三步:增加,下载,删除代码如下

复制代码
from fdfs_client.client import get_tracker_conf, Fdfs_client

tracker_conf = get_tracker_conf('./client.conf')
client = Fdfs_client(tracker_conf)

#文件上传
result = client.upload_by_filename('./db.sqlite3')
print(result)
# {'Group name': b'group1', 'Remote file_id': b'group1/M00/00/00/rBMGZWCeGhqAR_vRAAIAABZebgw.sqlite', 'Status': 'Upload successed.', 'Local file name': './db.sqlite3', 'Uploaded size': '128.00KB', 'Storage IP': b'101.133.225.166'}
# 访问地址即可下载:http://101.133.225.166:8888/group1/M00/00/00/rBMGZWCeGhqAR_vRAAIAABZebgw.sqlite


#文件下载
# result = client.download_to_file('./lqz.sqlite', b'group1/M00/00/00/rBMGZWCeGxaAFWqfAAIAABZebgw.sqlite')
# print(result)


# #文件删除
# result = client.delete_file(b'group1/M00/00/00/rBMGZWCeGhqAR_vRAAIAABZebgw.sqlite')
# print(result)
# ('Delete file successed.', b'group1/M00/00/00/rBMGZWCeGhqAR_vRAAIAABZebgw.sqlite', b'101.133.225.166')

# #列出所有的group信息
# result = client.list_all_groups()
# print(result)
复制代码

 

posted @   甜甜de微笑  阅读(325)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示