当前位置:   article > 正文

FastDFS对象存储初步搭建-仅限参考

fastdfs

FastDFS是什么?

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS角色有哪些?需要注意什么?

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
注:这里启动服务需要nginx做均衡

  1. 存储节点:存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。
  2. FastDFS 同步:tracker server会在内存中保存storage分组及各个组下的storage server,并将连接过自己的storage server及其分组保存到文件中,以便下次重启服务时能直接从本地磁盘中获得storage相关信息。storage server会在内存中记录本组的所有服务器,并将服务器信息记录到文件中。

交互过程

上传文件交互过程

  1. client询问tracker上传到的storage,不需要附加参数;
  2. tracker返回一台可用的storage;
  3. client直接和storage通讯完成文件上传。
    返回存储信息
    group0/M00/00/02/Cs8b8lFJIIyAH841AAAbpQt7xVI4715674
    参数解释:
    组名:group0 磁盘: M00 目录:00/02 文件名:Cs8b8lFJIIyAH841AAAbpQt7xVI4715674

下载文件交互过程

  1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
  2. tracker返回一台可用的storage;
  3. client直接和storage通讯完成文件下载。

环境搭建以及配置

安装libfastcommon

libfastcommon是FastDFS操作的基础库

下载

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
  • 1

解压

tar -zxvf V1.0.7.tar.gz
  • 1

安装

cd libfastcommon-1.0.7/
./make.sh
./make.sh install
  • 1
  • 2
  • 3

即可

安装FastFDS

官网: https://github.com/happyfish100/fastdfs
下载zip或直接git clone
解压完成后安装

cd fastdfs
./make.sh
./make.sh install
  • 1
  • 2
  • 3

并在某个地方生成一个文件夹用作存放数据和日志的
我自己配的是在fastdfs下的一个logs文件夹
如下图:
在这里插入图片描述

Tracker服务配置

先执行

cd  /etc/fdfs
  • 1

查看有没有tracker.conf如果只有一个tracker.conf.sample
就执行

cp tracker.conf.sample tracker.conf
  • 1

开始配置

sudo vim tracker.conf
  • 1

找到

base_path=/opt/fastdfs/logs 
http.server_port = 8454 #最好不要是8080
  • 1
  • 2

注:改为你刚刚创建的数据存储的文件夹这里是我的logs文件夹

测试

cd /usr/bin
./fdfs_trackerd /etc/fdfs/tracker.conf start

netstat -lnpt|grep fdfs
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

这样就能看到服务启动

配置 Storage 服务

cd /etc/fdfs/ 
  • 1

查看是否有storage.conf.sample,如果没有:

cp storage.conf.sample storage.conf 
  • 1

开始配置

sudo vim storage.conf
  • 1

找到

store_path0=/home/saltfish/fastdfs
base_path=/home/saltfish/fastdfs #更改一下同上
#存储节点数目前单机就是一个
store_path_count=1
tracker_server=xx.xx.xx.xx:22122 
  • 1
  • 2
  • 3
  • 4
  • 5

上面填一个自己主机的ip如下图:
在这里插入图片描述

测试

cd /usr/bin
./fdfs_storaged /etc/fdfs/storage.conf start
  • 1
  • 2

查看监控

./fdfs_monitor /etc/fdfs/storage.conf
  • 1

在这里插入图片描述
测试是否可以手动上传

cd /etc/fdfs/
  • 1

查看客户端

vim client.conf
  • 1

配置这两项
在这里插入图片描述
然后测试是否可以上传

 ./fdfs_upload_file /etc/fdfs/client.conf 图片路径 ip:23000 group1/M01/00/00/xx
group1/M00/00/00/wKgBZmL7ncaAQCx9AAb53j0cLbc594.png
  • 1
  • 2

在这里插入图片描述

查看一下你存放文件的文件夹
在这里插入图片描述

配置NGINX

下载命令

wget http://nginx.org/download/nginx-1.15.0.tar.gz
  • 1

解压 nginx

tar -zxvf nginx-1.15.0.tar.gz
  • 1

编译安装

./configure
make
make install
  • 1
  • 2
  • 3

启动

cd /usr/local/nginx/sbin
nginx -c nginx路径/conf/nginx.conf
  • 1
  • 2

下载fastdfs-nginx-module

wget https://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
  • 1

解压

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
  • 1

执行配置命令

./configure --prefix=/usr/local/nginx  --add-module=/opt/fastdfs-nginx-module_v1.16/fastdfs-nginx-module/src
  • 1

查看nginx 的Makefile文件:
发现执行的是objs/Makefile,再找到此文件
在这里插入图片描述
再(nginx下)
make一下
将nginx配置更新到/usr/local

cp objs/nginx /usr/local/nginx/sbin/nginx
  • 1

启动nginx

查看模块是否被加载上
在这里插入图片描述

配置fastdfs-nginx-module 模块
拷贝mod-fastdfs.conf到/etc/fdfs文件目录下,配置mod-fastdfs.conf

cp mod_fastdfs.conf /etc/fdfs/
sudo vim /etc/fdfs/mod_fastdfs.conf
  • 1
  • 2

修改

tracker_server=xx.xx.xx.xx:22122 #修改成tracker服务器的ip

url_have_group_name = true

store_path0=/home/saltfish/fastdfs#按照上面的一样
  • 1
  • 2
  • 3
  • 4
  • 5

cd 到 fastdfs的conf/目录下

 cp anti-steal.jpg http.conf mime.types /etc/fdfs/
  • 1

然后

cd /etc/fdfs/
  • 1

查看是否有这些
在这里插入图片描述
配置nginx

cd /usr/local/nginx/conf
  • 1

在这里插入图片描述

重启nginx

./nginx -s reload
  • 1

在浏览器中如下图输入网址
在这里插入图片描述

这样就算是基础搭建完成
后面有我写的简单脚本即可变成一条命令直接启动整套服务

只需要将配置项目

在这里插入图片描述

这里配置的只是根目录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/891086
推荐阅读
相关标签
  

闽ICP备14008679号