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服务器。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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