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

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

off999 2025-03-10 19:20 19 浏览 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

相关推荐

microsoft国际版(微软国际版bing)

win10系统自带的edge浏览器不分国内版和国际版。搜索引擎Bing分为国内版和国际版,区别如下一、迎合不同人群的需求。国际版显得更加个性,他迎合了不同人群的需求,在收缩上更加方便化和智能化,后期可...

为什么格式化sd卡后不能用了

SD卡受损后不格式化直接修复的方法:1,当系统发现SD卡受损之后,会提示进行格式化。2,把SD卡插入读卡器,接到电脑USB后,电脑提示格式化,点取消。然后查看一下属性。直接使用属性中的工具-开始检查...

c盘删除的东西能恢复吗(c盘删掉的东西还在吗)

    1.重新安装。  如果是安装在c盘下的普通应用程序,重新下载安装即可;  2.备份恢复或重装系统。  如果是删除了系统文件,在系统备过份且知道删除...

电脑如何重装系统winxp(电脑如何重装xp系统教程)

重装XP系统的步骤如下:1.首先备份您的重要文件和数据。2.插入XP系统安装光盘,重新启动计算机。3.在启动时按下计算机制造商指定的键(通常是F2、F12、Esc等)进入BIOS设置或启动菜单。...

win8密钥永久激活工具(win8密钥永久激活工具在哪)

win8.1正式版升级win10,自动激活,win8.1的密钥不能激活win10,升级win10正式版以后,无论怎么安装win10,系统都是自动激活状态。终极PID检测产品密钥:GCRJD...

制作系统安装u盘教程(制作系统安装盘及系统安装的步骤)

答u盘做系统详细步骤如下:  1.首先我们要准备一个10G内存的空白u盘,然后在装机吧官网下载一个装机吧一键重装系统软件,安装完成后打开软件,制作模式选择”USB-HDD“分区格式为”NTFS“点击...

联想win7怎么进入bios设置(联想win7进入bios设置win10)
联想win7怎么进入bios设置(联想win7进入bios设置win10)

联想电脑win7进入bios设置的具体步骤如下: 1、首先我们打开电脑的同时,按下键盘上的“F2”。2、然后我们在弹出来的窗口中就可以进入到BIOS界面中。3、然后我们按下键盘上的“F10”,之后回车确定即可退出。联想电脑win7...

2025-11-09 14:03 off999

优盘里面的文件被误删了能否找回

如果您的文件在很久以前被误删并且没有进行任何操作,那么有可能通过一些专业的数据恢复工具来恢复被删除的文件。以下是一些可能的操作步骤:1.停止使用U盘:为了最大限度地提高恢复成功的几率,请停止使用U盘...

电脑系统程序下载(电脑应用程序下载)

1、首先下载并安装DriverDroid,运行后根据设置向导进行设置。2、然后注意安卓手机已获取ROOT,设置时需要连接电脑。3、将手机自动下载的bios文件移动到镜像根目录下(手机内存/Downlo...

万能网卡驱动离线安装包下载

电脑没网是吧,那你可以先用手机下载。之后放电脑上安装的万能网卡驱动下载地址http://drivers.160.com/universal/camera.html该驱动能够使大部分的网卡能够被系统...

正版office和盗版区别(office正版和盗版可以共存吗)

区别主要有三方面:1.office正版是付费的,而且价格相对而言较高,盗版呢价格相对低或者干脆免费。2.office正版因为是官方发行,文件肯定完整,功能齐全,稳定。盗版呢一般都是破译的或者是拷贝的,...

ヽ这个符号怎么打出来(这个符号怎么打出来是在中间的)

下载酷狗拼音,软键盘就有了。ˋ☆╲ヽ

120g固态硬盘够用吗(10几年的老电脑换个固态硬盘)

一般办公家用还是够用了,分两个区,系统盘分50G,剩余的分一个区做资料盘。特殊要求,资料文件比较多的话,128g是不够用,只能分一个区。这个主要取决于您电脑主要的用途,如果您的电脑只是用来日常办公和娱...

谷歌浏览器google(谷歌浏览器googleplay)

GoogleChrome,又称Google浏览器,是一个美国Google(谷歌)公司开发的网页浏览器。该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且...

android13正式版下载(安卓版本13)

出现该问题的原因是,用户在设置里开启了新下载的APP,仅添加到APP资源库选项。大家只要进入“设置-主屏幕”,把新下载的APP,改为“添加到主屏幕”即可解决问题。修改完成后,你再进入AppStore下...

取消回复欢迎 发表评论: