1. 程式人生 > 其它 >40 Python操作FastDFS——自己搭建檔案伺服器

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)