40 Python操作FastDFS——自己搭建檔案伺服器
阿新 • • 發佈:2022-03-02
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 # 如果是阿里雲,一定確認埠是否開啟:8888,22122,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)