FastDFS简介及搭建

2024-08-26 19:32
文章标签 搭建 简介 fastdfs

本文主要是介绍FastDFS简介及搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、什么是FastDFS

FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

二、FastDFS架构

包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。

     

三、文件上传流程

1)上传连接请求,客户端会向tracker server发出上传文件的请求 
2)tracker收到请求后,返回storage server的ip和端口 
3)客户端连接storage,并且上传文件 
4)文件上传完成后,storage返回路径信息

四、文件下载流程

tracker根据请求的文件路径即文件ID 来快速定义文件。比如请求文件:group1/M00/00/00/agIBmlee7fOATa1MAAFw6fBcZXY841.png

 1.通过组名tracker能够很快的定位到客户端需要访问的存储服务器组是group1,并选择合适的存储服务器提供客户端访问。
2.存储服务器根据“文件存储虚拟磁盘路径”和“数据文件两级目录”可以很快定位到文件所在目录,并根据文件名找到客户端需要访问的文件。


五、FastDFS搭建


使用一台虚拟机来模拟,只有一个Tracker、一个Storage服务,配置nginx访问图片,不涉及集群。

6.fastdfs搭建步骤

第一步:把fastDFS都上传到linux系统。


第二步:安装FastDFS之前,先安装libevent工具包。命令:yum -y install libevent

第三步:安装libfastcommonV1.0.7工具包。

1、解压缩:tar zxf libfastcommonV1.0.7

2、./make.sh

3、./make.shinstall

4、把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份:cp /usr/lib64/libfastcommon.so /usr/lib

第四步:安装Tracker服务。

1、解压缩:tar zxf fastdfs-5.05.tar.gz

2、./make.sh

3、./make.shinstall

安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。

配置文件都放到/etc/fdfs文件夹

4、把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下。

5、配置tracker服务。修改/root/FastDFS/conf/tracker.conf文件:vim tracker.conf

6、启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重启使用命令:/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart

第五步:安装storage服务。

1、如果是在不同的服务器安装,第四步的1~4需要重新执行。

2、配置storage服务。修改/root/FastDFS/conf/storage.conf文件

  

    

3、启动storage服务。

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

如果是重启用restart,如果是第一次启动不用加restart,start也不需要。

第六步:测试服务。

1、修改配置文件/etc/fdfs/client.conf

  


2、测试

/usr/bin/fdfs_test/etc/fdfs/client.conf upload anti-steal.jpg

第七步:搭建nginx提供http服务。

可以使用官方提供的nginx插件。要使用nginx插件需要重新编译。

fastdfs-nginx-module_v1.16.tar.gz

1、解压插件压缩包

   2、修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉

3、对nginx重新config

./configure \

--prefix=/var/nginx\

--with-http_gzip_static_module\

--http-client-body-temp-path=/var/nginx/client\

--http-proxy-temp-path=/var/nginx/proxy\

--http-fastcgi-temp-path=/var/nginx/fastcgi\

--http-uwsgi-temp-path=/var/nginx/uwsgi\

--http-scgi-temp-path=/var/nginx/scgi\

--add-module=/root/soft/fastdfs-nginx-module/src

4、make

5、make install

6、把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。编辑:

7、nginx的配置

在nginx的配置文件中添加一个Server:

改为:

server {listen       80;server_name  192.168.101.3;location /group1/M00/{ngx_fastdfs_module;}}
8、将libfdfsclient.so拷贝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

9、启动nginx

10、nginx服务

 

本篇博客为学习中记录,按照教学视频搭建,所有都是按老师搭建成功。

这篇关于FastDFS简介及搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109470

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Java Stream 并行流简介、使用与注意事项小结

《JavaStream并行流简介、使用与注意事项小结》Java8并行流基于StreamAPI,利用多核CPU提升计算密集型任务效率,但需注意线程安全、顺序不确定及线程池管理,可通过自定义线程池与C... 目录1. 并行流简介​特点:​2. 并行流的简单使用​示例:并行流的基本使用​3. 配合自定义线程池​示

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

MySQL 索引简介及常见的索引类型有哪些

《MySQL索引简介及常见的索引类型有哪些》MySQL索引是加速数据检索的特殊结构,用于存储列值与位置信息,常见的索引类型包括:主键索引、唯一索引、普通索引、复合索引、全文索引和空间索引等,本文介绍... 目录什么是 mysql 的索引?常见的索引类型有哪些?总结性回答详细解释1. MySQL 索引的概念2

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC