FastDFS部署

部署FastDFS

1、安装docker

安装教程:https://www.cnblogs.com/52note/p/15085961.html

2、搜索并下载 fastdfs 镜像

sudo docker search fastdfs
sudo docker pull delron/fastdfs

3、创建两个容器分别运行跟踪和存储服务器

先查询虚拟机占用的宿主机ip,跟踪服务器在这个ip上运行,启动存储服务器需要指定跟踪服务器的ip
ip addr或者ipconfig
选择这个ip

启动fastdfs服务

sudo docker run -dit --name tracker --network=host -v ~/fdfs/tracker:/var/fdfs delron/fastdfs tracker
sudo docker run -dit --name storage --network=host -e TRACKER_SERVER=你查到的ip地址:22122 -v ~/fdfs/storage:/var/fdfs delron/fastdfs storage
## 停止与重启
sudo docker ps -a # 查看容器id
sudo docker container ls -a # 查看容器id
sudo docker container stop  id前三位
sudo docker container start id前三位

4、下载第三方库 fdfs_client_py34 到虚拟环境中

pip install fdfs_client_py34

5、配置 fastdfs

创建一个 fastfds 工具包

在包中创建 client.conf 配置文件,内容如下

# connect timeout in seconds
# default value is 30s
connect_timeout=300

# network timeout in seconds
# default value is 30s
network_timeout=300

# the base path to store log files
base_path=~/fdfs/logs  # 自定义你的日志文件路径

# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
#tracker_server=10.20.10.191:22122
tracker_server= 192.168.176.134:22122  # 写你自己的跟踪服务器ip

#standard log level as syslog, case insensitive, value list:
### emerg for emergency
### alert
### crit for critical
### error
### warn for warning
### notice
### info
### debug
log_level=info

# if use connection pool
# default value is false
# since V4.05
use_connection_pool = false

# connections whose the idle time exceeds this time will be closed
# unit: second
# default value is 3600
# since V4.05
connection_pool_max_idle_time = 3600

# if load FastDFS parameters from tracker server
# since V4.05
# default value is false
load_fdfs_parameters_from_tracker=false

# if use storage ID instead of IP address
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# default value is false
# since V4.05
use_storage_id = false

# specify storage ids filename, can use relative or absolute path
# same as tracker.conf
# valid only when load_fdfs_parameters_from_tracker is false
# since V4.05
storage_ids_filename = storage_ids.conf


#HTTP settings
http.tracker_server_port=80

#use "#include" directive to include HTTP other settiongs
##include http.conf

5、试运行

进入 shell 窗口

python

导入 Fdfs_client 类

from fdfs_client.client import Fdfs_client

创建客户端

client = Fdfs_client('你的client.conf文件路径')

上传图片

ret = client.upload_by_filename('图片')

查看图片保存位置

ret

结果如下
{'Group name': b'group1',
'Local file name': '本地文件路径',
'Remote file_id': b'文件在远程storage服务器中的保存路径',
'Status': 'Upload successed.',
'Storage IP': b'192.168.176.134',
'Uploaded size': '103.13KB'}

6、查看上传的图片

在浏览器中查看

输入链接:Storage IP:8888/Local file name
如:192.168.176.134:8888/group1/M00/00/00/CtM3BVnifxeAPTodAAPWWMjR7sE487.jpg
无论是在虚拟机中还是在windows中,都可以使用这个网址查看到图片

上传的图片保存在
~/fdfs/storage/data/00/00/
目录中
~/fdfs/storage 为创建存储服务器时自定义的宿主机映像目录,手动修改其中的文件会自动同步到远程storage服务器。

posted @   流水自净  阅读(306)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示