千家信息网

FastDFS单机搭建

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,简介FastDFS 是一个开源的高性能分布式文件系统(DFS)。FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Clie
千家信息网最后更新 2026年11月01日FastDFS单机搭建

简介

FastDFS 是一个开源的高性能分布式文件系统(DFS)。
FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
  Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
  Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
  Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

安装

环境准备

编译源码需要gcc gcc-c++ perl,软件包解压需要unzip yum -y install gcc gcc-c++ perl unzip

提前下载好需要的软件包(统一下载在/usr/local/src目录)

下载libfastcommon环境包:         wget https://github.com/happyfish200/libfastcommon/archive/V1.0.7.tar.gz下载FastDFS包:         wget https://github.com/happyfish200/fastdfs/archive/V5.05.tar.gz下载nginx源码包:         wget -c https://nginx.org/download/nginx-1.12.1.tar.gz下载 fastdfs-nginx-module插件包: wget  https://github.com/happyfish200/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip

1.安装 libfastcommon
解压并进入

tar -zxvf V1.0.7.tar.gzcd libfastcommon-1.0.7

编译、安装

 ./make.sh ./make.sh install

libfastcommon.so 默认安装到了/usr/lib64/libfastcommon.so。但是后续我们安装的FastDFS主程序设置的lib目录是/usr/local/lib,因此需要创建软链接。

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.soln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.soln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.soln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

2.下载安装FastDFS
解压并进入

 tar -zxvf V5.05.tar.gz cd fastdfs-5.05

编译、安装

 ./make.sh ./make.sh install

安装后的相应文件与目录如下:
fastdfs的服务脚本

/etc/init.d/fdfs_storaged/etc/init.d/fdfs_tracker

fastdfs配置文件

/etc/fdfs/client.conf.sample/etc/fdfs/storage.conf.sample/etc/fdfs/tracker.conf.sample

命令工具在 /usr/bin/。
FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下。我们需要建立 /usr/bin 到 /usr/local/bin 的软链接

ln -s /usr/bin/fdfs_trackerd /usr/local/binln -s /usr/bin/fdfs_storaged /usr/local/binln -s /usr/bin/stop.sh /usr/local/binln -s /usr/bin/restart.sh /usr/local/bin

3.配置FastDFS跟踪器(Tracker)
进入 /etc/fdfs,复制 FastDFS 跟踪器样例配置文件 tracker.conf.sample,并重命名为 tracker.conf

 cd /etc/fdfs cp tracker.conf.sample tracker.conf vim tracker.conf

编辑tracker.conf ,以下需要修改下,其它的默认即可。

# Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建)base_path=/home/fastdfs/tracker# HTTP 服务端口http.server_port=80

创建tracker基础数据目录,即base_path对应的目录

mkdir -p /home/fastdfs/tracker

启动Tracker

# service fdfs_trackerd start   或# systemctl start fdfs_trackerdnetstat -unltp|grep fdfs


关闭

service fdfs_trackerd stop

4.配置 FastDFS 存储 (Storage)
进入 /etc/fdfs 目录

# cd /etc/fdfs# cp storage.conf.sample storage.conf# vim storage.conf

编辑storage.conf

# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成)base_path=/home/fastdfs/storage# 如果不配置 store_path0,那它就和 base_path 对应的路径一样,此处直接注释掉。#store_path0=/home/fastdfs/file# 有多个 tracker server 时,每个 tracker server 写一行tracker_server=192.168.244.8:22122# 访问端口http.server_port=80

创建Storage基础数据目录,对应base_path目录

# mkdir -p /home/fastdfs/storage

启动 Storage

# service fdfs_storaged #查看状态# netstat -unltp|grep fdfs#关闭# service fdfs_storaged stop


查看Storage和Tracker是否在通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

5.文件上传测试
修改 Tracker 服务器中的客户端配置文件

# cd /etc/fdfs# cp client.conf.sample client.conf# vim client.conf

修改如下配置即可,其它默认。

# Client 的数据和日志目录base_path=/home/fastdfs/client# Tracker端口tracker_server=192.168.244.8:22122#tracker服务器的端口http.tracker_server_port=8081 

上传测试

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf  xxx.jpg


安装nginx

1.安装nginx所需环境
PCRE pcre-devel 安装
# yum install -y pcre pcre-devel
zlib 安装
# yum install -y zlib zlib-devel
OpenSSL 安装
# yum install -y openssl openssl-devel
2.安装nginx

# tar -zxvf nginx-1.12.1.tar.gz# cd nginx-1.12.1# ./configure# make# make install#启动# cd /usr/local/nginx/sbin/# ./nginx# ./nginx -s stop# ./nginx -s quit# ./nginx -s reload/usr/local/nginx/sbin/nginx -V


修改nginx.conf

# vim /usr/local/nginx/conf/nginx.conf#添加如下行,将 /group1/M00 映射到 /home/fastdfs/storage/datalocation /group1/M00 {alias /home/fastdfs/storage/data;}

重启

# /usr/local/nginx/sbin/nginx -s reload


在浏览器访问之前上传的文件、成功。
http://192.168.244.8/group1/M00/00/00/wKj0CF0cTBKAYwBiAABdrZgsqUU227.jpg

3.Nginx的fastdfs 模块
解压 fastdfs-nginx-module

# 解压# unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip# 重命名# mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module

配置Nginx

# 先停掉nginx服务# /usr/local/nginx/sbin/nginx -s stop进入nginx解压包目录# cd /usr/local/src/nginx-1.12.1/# 添加模块# ./configure --add-module=../fastdfs-nginx-module/src重新编译、安装# make && make install#查看Nginx的版本模块# /usr/local/nginx/sbin/nginx -V

复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

# cd /usr/local/src/fastdfs-nginx-module/src# cp mod_fastdfs.conf /etc/fdfs/

修改如下配置,其它默认

# 连接超时时间connect_timeout=10# Tracker Servertracker_server=192.168.244.8:22122# 如果文件ID的uri中包含/group**,则要设置为trueurl_have_group_name = true# Storage 配置的store_path0路径,必须和storage.conf中的一致,统一注释掉#store_path0= /home/yuqing/fastdfs

复制 FastDFS 的部分配置文件到/etc/fdfs 目录

# cd /usr/local/src/fastdfs-5.05/conf/# cp anti-steal.jpg http.conf mime.types /etc/fdfs/

配置nginx,修改nginx.conf
在80端口下添加fastdfs-nginx模块

location ~/group0/M00 {ngx_fastdfs_module;}


注意:
  listen 80 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=80 (前面改成80了)相对应。
启动nginx

# /usr/local/nginx/sbin/nginx


重新上传一个图片,能用浏览器打开,即安装成功。

目录 服务 配置 文件 服务器 数据 端口 模块 编译 跟踪 客户 客户端 日志 源码 环境 存储 成功 命令 地址 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 蓝思科技飞鸽互联网 广州宏创互联网科技 朗涯互联网科技 有木互联网科技 恒生科技互联网指数分析 深圳市运趣互联网科技有限公司 互联网科技热点资讯 银川新华互联网科技职业技术培训学校图片 互联网金融中的现代科技 互联网科技革命什么开始 互联网媒体平台算高科技产业 消费医药和互联网科技 用友工业互联网科技发展 雨阳互联网卡科技有限公司 万物互联网智能科技 中国科技和美国互联网 北京互联网科技类企业分布 科技互联网专业工作会议发言稿 互联网高科技绘画 互联网的科技创新 新华互联网科技2019 互联网企业和科技型企业 互联网大会黑科技排名 互联网科技创新服务 科技类公司包括互联网吗 互联网科技如何创业 广州百诚互联网科技有限公司官网 银川新华互联网科技学校是国营吗 玉溪新华互联网科技怎么选
0