百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

FastDFS分布式文件系统搭建与配置

off999 2025-03-10 19:20 23 浏览 0 评论

介绍

FastDFS是一个开源的轻量级的高性能分布式文件系统。

其主要功能包括:文件存储、文件同步和文件访问(文件上传和文件下载),解决了大容量和负载均衡问题。FastDFS应满足基于照片分享网站、视频分享网站等文件的网站的服务要求,适合存储 4KB~500MB 之间的小文件,特别适合以文件为载体的在线服务,如图片、视频、文档等等。

FastDFS服务安装环境准备

FastDFS安装所需要的组件

名称

说明

OpenResty

文件下载使用的服务

Libfatscommon

FastDFS分操作的一些公共函数包

FastDFS Nginx Module

FastDFS和Nginx的关联模块

FastDFS

FastDFS分布式文件系统

环境准备

服务

IP地址

操作系统

Tracker Server 跟踪器

192.168.65.116

CentOS Linux release 7.3

Storage Server1 存储节点

192.168.65.74

CentOS Linux release 7.3

Storage Server1 存储节点

192.168.65.75

CentOS Linux release 7.3

服务器上安装基础环境

yum install gcc gcc-c++ make pcre-devel zlib-devel openssl-devel

FastDFS服务安装路径规划

位置

说明

/dfs/soft

所有安装包

/dfs/tracker

tracker服务器数据存储位置

/dfs/storage

storage服务器数据存储位置

[root@fdfs-116 ~]# mkdir /dfs/tracker -p  #创建数据存储目录(tracker服务器)
[root@fdfs-74 ~]# mkdir /dfs/storage -p #创建数据存储目录(storage服务器)
[root@fdfs-75 ~]# mkdir /dfs/storage -p #创建数据存储目录(storage服务器)

安装libfastcommon(tracker和storage都安装)

cd /dfs/soft #切换到安装目录准备下载安装包
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
#如果服务器未联网,需要手动下载libfastcommon的安装包
#解压后进入libfastcommon目录,手动./make.sh && ./make.sh install
[root@fdfs-116 soft]# unzip libfastcommon-master.zip
[root@fdfs-116 soft]# cd libfastcommon-master
[root@fdfs-116 libfastcommon-master]# ./make.sh && ./make.sh install #编译安装

安装FastDFS(tracker和storage都安装)

cd /dfs/soft #切换到安装目录准备下载安装包
git clone https://github.com/happyfish100/fastdfs.git --depth 1
#如果服务器未联网需要手动下载FastDfs的安装包
#解压后进入fastdfs目录中,并手动./make.sh && ./make.sh install
[root@fdfs-116 soft]# tar -zxvf FastDFS_v5.08.tar.gz 
[root@fdfs-116 soft]# cd FastDFS
[root@fdfs-116 FastDFS]# ./make.sh && ./make.sh install  #编译安装

#配置文件准备
#tracker配置文件(tracker服务器使用)
[root@fdfs-116 FastDFS]# cp conf/tracker.conf /etc/fdfs/
#storage配置文件(storage服务器使用)
[root@fdfs-74 FastDFS]# cp conf/storage.conf /etc/fdfs/
[root@fdfs-75 FastDFS]# cp conf/storage.conf /etc/fdfs/
#客户端文件,测试用
[root@fdfs-116 FastDFS]# cp conf/client.conf /etc/fdfs/
#Fastdfs为fastdfs安装路径,这里是我的安装路径,请以自己的实际安装路径为准
[root@fdfs-116 FastDFS]# cp conf/http.conf conf/mime.types /etc/fdfs/
[root@fdfs-74 FastDFS]# cp conf/http.conf conf/mime.types /etc/fdfs/
[root@fdfs-75 FastDFS]# cp conf/http.conf conf/mime.types /etc/fdfs/

安装fastdfs-nginx-module(storage服务器安装)

cd /dfs/soft #切换到安装目录准备下载安装包
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
#如果服务器未连接互联网,需要手动下载fastdfs-nginx-module包
#此处的fastdfs-nginx-module包需要注意版本
# /dfs/soft/fastdfs-nginx-module为解压目录,这里是我的目录,实际请以自己的为准
[root@fdfs-74 soft]# unzip fastdfs-nginx-module.zip 
[root@fdfs-74 soft]# cp /dfs/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
[root@fdfs-75 soft]# unzip fastdfs-nginx-module.zip 
[root@fdfs-75 soft]# cp /dfs/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

安装OpenResty(storage服务器安装)

cd /dfs/soft #切换到安装目录准备下载安装包
wget https://openresty.org/download/openresty-1.19.3.1.tar.gz #下载nginx压缩包
#如果服务器未连接互联网,需要手动下载nginx包,并解压
[root@fdfs-74 soft]# tar -zxf openresty-1.19.3.1.tar.gz 
[root@fdfs-74 soft]# cd openresty-1.19.3.1
#添加fastdfs-nginx-module模块
#prefix指定一个自己的nginx目录
#add-module指定对应的fastdfs-nginx-module目录
#/dfs/soft/fastdfs-nginx-module这里是我自己的目录,实际请以自己的为准
[root@fdfs-74 openresty-1.19.3.1]# ./configure --add-module=/dfs/soft/fastdfs-nginx-module/src/
[root@fdfs-74 openresty-1.19.3.1]# gmake && gmake install #编译安装
#另一台Storage一样的命令
[root@fdfs-75 openresty-1.19.3.1]# ./configure --add-module=/dfs/soft/fastdfs-nginx-module/src/
[root@fdfs-75 openresty-1.19.3.1]# gmake && gmake install #编译安装

以上3~6步,已经把FastDFS的组件安装完成

FastDFS集群配置(Tracker配置)

tracker.conf 需要修改的内容如下

vim /etc/fdfs/tracker.conf  
port=22122  # tracker服务器端口(默认22122,一般不修改)
base_path=/dfs/tracker  # 存储tracker日志和数据的根目录
store_group=group1 #设置组名
http.server_port = 8080 #tracker HTTP服务端口

修改防火墙,开放22122端口和8080端口(iptables或firewall,此处以firewall为例)

# 开放端口
firewall-cmd --permanent --add-port=22122/tcp --add-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 查询端口是否开放
firewall-cmd --query-port=22122/tcp
firewall-cmd --query-port=8080/tcp

启动Tracker

/etc/init.d/fdfs_trackerd start #启动tracker服务
/etc/init.d/fdfs_trackerd restart #重启动tracker服务
/etc/init.d/fdfs_trackerd stop #停止tracker服务
chkconfig fdfs_trackerd on #自启动tracker服务

FastDFS集群配置(Storage配置)

storage.conf 需要修改的内容如下

vim /etc/fdfs/storage.conf
port=23000  # storage服务端口(默认23000,一般不修改)
base_path=/dfs/storage  # 数据和日志文件存储根目录
store_path0=/dfs/storage  # 第一个存储目录
tracker_server=192.168.65.116:22122  # tracker服务器1
#tracker_server=xxx.xxx.xx.xxx:22122 # tracker服务器2
http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和OpenResty中保持一致)

修改防火墙,开放23000端口和8888端口(iptables或firewall,此处以firewall为例)

# 开放端口
firewall-cmd --permanent --add-port=23000/tcp --add-port=8888/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 查询端口是否开放
firewall-cmd --query-port=23000/tcp
firewall-cmd --query-port=8888/tcp

启动Storage

/etc/init.d/fdfs_storaged start #启动storage服务
/etc/init.d/fdfs_storaged restart #重动storage服务
/etc/init.d/fdfs_storaged stop #停止动storage服务
chkconfig fdfs_storaged on #自启动storage服务

配置Client测试(tracker服务器)

修改client.conf配置文件

vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/dfs/tracker #tracker服务器
tracker_server=192.168.65.116:22122  # tracker服务器1
#tracker_server=xxx.xxx.xx.xxx:22122 # tracker服务器2
http.tracker_server_port=8080 #修改端口

测试上传文件

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
[root@fdfs-116 soft]# fdfs_upload_file /etc/fdfs/client.conf ./7-1664778559.png 
group1/M00/00/00/wKhBSmQAQ5KAKKUsAADlaTAPbnU808.png

配置OpenResty使可以通过HTTP访问(两台Storage都需要配置)

修改fastdfs-nginx-module

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=192.168.65.116:22122  # 服务器1
#tracker_server=xxx.xxx.xx.xx:22122 # 服务器2
url_have_group_name=true #访问路径中携带组名,如group1
store_path0=/dfs/storage #storage地址

修改Nginx配置

#配置nginx.config
vim /usr/local/openresty/nginx/conf/nginx.conf
#添加如下配置
server {
    listen       8888;    #该端口为storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

启动Nginx服务

#测试Nginx配置
[root@fdfs-74 openresty-1.19.3.1]# /usr/local/openresty/nginx/sbin/nginx -t
ngx_http_fastdfs_set pid=32222
nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test is successful

 /usr/local/openresty/nginx/sbin/nginx #启动nginx
 /usr/local/openresty/nginx/sbin/nginx -s reload #重启nginx
 /usr/local/openresty/nginx/sbin/nginx -s stop #停止nginx

测试一下看上传的文件能不能访问

group1/M00/00/00/wKhBSmQAQ5KAKKUsAADlaTAPbnU808.png

相关推荐

应用备份还原app下载(应用备份与恢复下载)

如果您已经将手机上的数据备份到电脑,希望从电脑恢复到手机,建议您:1.电脑中安装Kies软件。注:若使用的是安卓4.3操作系统,电脑中需要安装Kies3软件。2.将手机与电脑通过数据线连接,打开Kie...

office2013激活向导(microsoft office激活导向)
office2013激活向导(microsoft office激活导向)

这是没有正常激活导致的,解决方法如下:1、下载正确的microsoftoffice到桌面上,右键单击从下拉菜单中选择解压到当前文件夹。2、双击桌面上的快捷方式,打开该应用程序,切换到mian选项卡。3、接着点击ez-activator按钮...

2026-01-02 00:51 off999

h3c路由器手机登录入口(h3c路由器登录界面手机)

首先就是把华三路由器正确安装,然后手机连接路由器发射出来的WiFi信号。然后点击手机中的浏览器并深入华三路由器的登录地址 moshujia.com或者192.168.124.1,就可以登...

u盘坏了数据怎么导出来(u盘坏了里面的数据怎么办)

方法一、借助数据恢复软件u盘只要不是物理性故障且数据未覆盖的情况下,可借助u盘数据恢复软件来提取打不开的u盘数据。具体操作流程如下:在电脑上插入需要恢复数据的u盘,然后运行u盘数据恢复软件—以云骑士数...

win10家庭版原装下载(win10家庭版安装包下载)

有以下几种原因:第一是因为专业版功能较为齐全,但一般的使用者并不太需要。第二是由于功能齐全,它所占的体积也比较大,进而对电脑的运行速率有一定的影响。第三是Wln10各种版本都还是需要花钱购买的,而专业...

win7装xp系统怎么安装(win7如何安装xp系统)

设置U盘为第一启动项并进入PE系统。开机按F2进入BOIS,在BOOT选项中将U盘设为第一启动盘,通过按F6(有的是Shift+)调整顺序。(或开机按ESC选择启动盘,即你的U盘)。按F10保存...

windows 98是什么操作系统(windows98属于什么)

Windows98是微软公司发行于1998年6月25日的混合16位/32位的Windows操作系统,其版本号为4.1,开发代号为Memphis。肯定有的。Windows95操作系统刚发布的时候就...

下载mp3免费的网站(免费下载mp3哪些网站)

有免费下载mp3的网站。除了知名的几个音乐平台外,还有以下三款支持免费MP3无损音乐下载网站,可以将喜欢的歌曲下载到U盘。说明书里有呀91flac音乐网,试试这个,绝对好使,但是不要在酷狗上面说网页上...

win10更新卸载不了怎么办(win10更新后卸载更新失败)

右键桌面上“此电脑”—“管理”,或者按组合键“Windows+X”—计算机管理—服务和应用程序—服务,找到Windowsupdate和BackgroundIntelligentTransfe...

三星笔记本bios怎么设置(三星笔记本bios按哪个键)
  • 三星笔记本bios怎么设置(三星笔记本bios按哪个键)
  • 三星笔记本bios怎么设置(三星笔记本bios按哪个键)
  • 三星笔记本bios怎么设置(三星笔记本bios按哪个键)
  • 三星笔记本bios怎么设置(三星笔记本bios按哪个键)
pc浏览器是什么意思(pc模式的浏览器)

则是在电脑上使用的所有的浏览器。可以在电脑上使用的浏览器有非常多,我们现在比较常用的包括UC浏览器,搜狗浏览器,360浏览器等等,这些浏览器都可以在大部分的电脑上正常使用,而且使用起来非常流畅,市场的...

win10取消电脑开机密码(win10如何取消电脑开机密码取消)

取消Windows10开机密码的方法如下:1.在Windows10桌面上,按下WIN+R组合键,打开运行窗口。2.输入"netplwiz"然后按下回车键,这...

微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
  • 微信记录恢复助手(微信记录恢复助手安全吗)
五笔打字怎么打(曹五笔打字怎么打)

操作步骤:1、按住Ctrl+空格键切换到五笔输入法;2、在输入面板上面单击右键选择“软键盘”——特殊符号;3、在打开的软键盘上单击“☆”即可。五笔打字是指采用五笔字型输入法向电脑中输入汉字。这种输入...

内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)
  • 内存不能为written修复工具(一直出现内存不能为written)

取消回复欢迎 发表评论: