打赏

FastDFS入门

FastDFS入门

1.分布式文件系统

分布式文件系统是一个文件管理服务器,通常分布在不同的服务器节点上,这些服务器通过网络相连构成一个庞大的文件服务器集群。这些服务器都用于存储文件资源,通过分布式文件系统管理这些服务器上的文件。常见的文件系统有:FastDFS、GFS、HDFS、Ceph、GridFS、TFS等。

2.传统的文件系统和分布式文件系统区别


3.FastDFS介绍

FastDFS是一个开源的轻量级分布式文件系统,C语言开发,阿里巴巴开源。主要功能:文件存储、文件同步、文件访问(文件上传、下载、删除),解决了大容量文件存储的问题,适用于以文件为载体的在线服务。
FastDFS文件系统由客户端和服务端组成。FASTDFS提供了API访问(c,java,php支持),用来访问FastDFS.
服务端包含两部分组成:一个是跟踪器tracer,一个是存储节点storage.跟踪器主要做调度工作,在内存中记录集群中存储的节点状态信息,是前端client和后端存储节点的枢纽。存储节点用来存储文件,包含文件和文件属性(meta data),都保存在存储服务器磁盘上,完成文件管理的所有功能:文件存储、文件同步、文件访问等。

4.环境搭建

(1.)检查linux上是否安装了gcc、Libevent、libevent-devel

yum list installed |grep gcc
yum list installed |grep libevent
yum list installed |grep libevent-devel

如果没有安装,则进行安装

yum install gcc libevent libevent-devel -y

(2.)安装libfastcommon库
libfastcommon库是FastDFS文件系统运行需要的公共C语言函数库。注意:v1.0.39与FastDFS11不兼容。
下载地址:https://github.com/happyfish100/fastdfs
下载后解压

tar -zxvf libfastcommon-1.0.36.tar.gz
cd libfastcommon-1.0.36
./make.sh
./make.sh install

(3.)下载fastDFS包
下载地址:https://github.com/happyfish100/fastdfs/tags
下载后解压

tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make.sh
./make.sh install

(4.)修改配置文件

cd /etc/fdfs
mv client.conf.sample client.conf
mv storage.conf.sample storage.conf
mv storage _ids.conf.sample storage_ids.conf
mv tracker.conf.sample tracker.conf

(5.)修改tracker.conf文件

vim tracker.conf
base_path=/opt/fastdfs/tracker

(6.)修改storage.conf文件

vim storage.conf
base_path=/opt/fastdfs/storage  # storage存储数据目录,注意:需要提前手动创建对应的目录
store_path0=/opt/fastdfs/storage/files  # 真正存放文件的目录
tracker_server=192.168.1.120:22122   # 跟踪器服务器地址

# 创建对应的目录
cd /opt
mkdir fastdfs/tracker -p
mkdir fastdfs/storage/files -p

(7.)启动FastDFS的tracker服务

fdfs_trackerd /etc/fdfs/tracker.conf  启动
fdfs_trackerd /etc/fdfs/tracker.conf restart  # 重启
fdfs_trackerd /etc/fdfs/tracker.conf stop  # 停止

(8.)启动storage

fdfs_storaged /etc/fdfs/storage.conf # 启动
fdfs_storaged /etc/fdfs/storage.conf stop # 停止
fdfs_storaged /etc/fdfs/storage.conf restart 重启 

(9.)测试
修改client.conf配置文件

vim /etc/fdfs/client.conf
base_path=/opt/fastdfs/client  # 提前创建目录
tracker_server=192.168.1.120:22122

# 创建目录
mkdir -p /opt/fastdfs/client

上传文件

fdfs_test /etc/fdfs/client.conf upload /root/test.txt
# 查看上传的文件
cd /opt/fastdfs/storage/files/data/00/00/
ls
# 生成的文件目录结构和目录说明
goup1/M00/00/0C/wkjiExxdjklsfjljljsdfa.h
组名/磁盘/目录/文件名

注意:没有搭建集群只有一个组group1,后缀包含-m的为属性文件(meta)

测试文件删除

fdfs_delete_file /etc/fdfs/client.conf group1/文件路径

(9.)配置HTTP访问
将fastdfs的Nginx扩展模块源码fastdfs-nginx-module-master.zip上传到linux上,解压unzip fastdfs-nginx-module-master.zip

(9.1)安装Nginx
下载Nginx源码

cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --add-module=/home/fastdfs-nginx-module-master/src  # 需要制定模块的源码路径
make 
make install

# 拷贝配置文件
cp /home/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

修改mod_fastdfs.conf文件
base_path=/opt/fastdfs/nginx_mod  # 提前创建目录
tracker_server=192.168.1.120:22122
url_have_group_name=true  # true表示访问路径中需要有group1 
storage_path0=/opt/fastdfs/storage/files

# 创建目录
mkdir -p /opt/fastdfs/nginx_mod

# 修改nginx.conf配置文件
location ~/group[1-9]/M0[0-9]{
  ngx_fastdfs_module;
}

# 启动Nginx
nginx -c /usr/local/nginx、conf/nginx.conf -t
注意:nginx安装需要gcc,openssl,pcre,zlib需要提前安装
yum install gcc openssl openssl-devel pcre zlib-devel -y
posted @ 2021-08-08 13:49  苍山落暮  阅读(118)  评论(0编辑  收藏  举报