FastDFS入门学习之环境搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31156277/article/details/88146953

一、FastDFS 入门安装

1.1 简介

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

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。非常适合用来存储用户图片、视频、文档等文件。


1.2 单节点安装

需要安装Tracker(跟踪器)、Storage(存储器)。使用http访问,需要集成Nginx模块

1.2.1 安装步骤(公共模块安装)

一、准备工作(俩台机器同时进行:192.1668.91.101,192.1668.91.101 下面的安装步骤都需要在两个节点上完成)
1下载软件:http://sourceforge.net/projects/fastdfs/files/
2安装gcc。命令:yum install make cmake gcc gcc-c++


二、安装libfastcommon(俩台机器同时进行)
1 上传libfastcommon-master.zip到/usr/local/software下
2 进行解压libfastcommon-master.zip: 命令:unzip libfastcommon-master.zip -d /usr/local/fast/
3 进入目录:cd /usr/local/fast/libfastcommon-master/
在这里插入图片描述
4 进行编译和安装:
命令:./make.sh
命令:./make.sh install

在这里插入图片描述注意安装的路径:也就是说,我们的libfastcommon默认安装到了**/usr/lib64/**这个 位置

5 进行软件创建。FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/ usr/lib64/下的一些核心执行程序的软连接文件。
命令:mkdir /usr/local/lib/
命令:ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
命令:ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
命令:ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
命令:ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

在这里插入图片描述


三、安装FastDFS
1 进入到cd /usr/local/software下,解压FastDFS_v5.05.tar.gz文件
命令:cd /usr/local/software
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/

2 安装编译
命令:cd /usr/local/fast/FastDFS/
编译命令:./make.sh
安装命令:./make.sh install


3 采用默认安装方式脚本文件说明(只是用于验证软件安装情况):
(1) 服务脚本在: cd /etc/init.d/ && ls | grep fdfs
/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd
在这里插入图片描述
(2)配置文件在:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
在这里插入图片描述
(3)命令行工具在/usr/bin/目录下
Fdfs_*的一些列执行脚本

在这里插入图片描述


4 因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩 个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin


1.2.2配置跟踪器(192.168.91.101)

1 进入 cd /etc/fdfs/目录配置跟踪器文件(注意是192.168.91.101节点),
把tracker.conf.samp le文件进行cope一份:去修改tracker.conf文件
在这里插入图片描述


2 修改tracker.conf文件
命令:vim /etc/fdfs/tracker.conf
如下图所示:我们暂时修改配置文件里的base_path即可
在这里插入图片描述
修改为自己的路径地址:base_path=/fastdfs/tracker


3 最后我们一定要创建之前定义好的目录(也就是/fastdfs/tracker):
命令:mkdir -p /fastdfs/tracker
在这里插入图片描述


4 关闭防火墙:(学习时可以不用考虑防火墙的问题)
Vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启:service iptables restart


5 启动跟踪器
目录命令:cd /fastdfs/tracker/ && ll
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
停止tracker命令:/etc/init.d/fdfs_trackerd stop
在这里插入图片描述


6 可以设置开机启动跟踪器:(一般生产环境需要开机启动一些服务,如keepaliv ed、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start


1.2.3 FastDFS_storage安装配置(192.168.91.102)

1 进入文件目录:cd /etc/fdfs/,进行copy storage文件一份
命令:cd /etc/fdfs/
命令:cp storage.conf.sample storage.conf
在这里插入图片描述


2 修改storage.conf文件
命令:vim /etc/fdfs/storage.conf
修改内容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.91.101:22122
http.server_port=8888


3 创建存储目录:mkdir -p /fastdfs/storage


4 打开防火墙:(学习时可以不用考虑防火墙的问题)
命令:vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启:service iptables restart


5 启动存储(storage)
注意在启动之前需要启动 101上tracker 命令: /etc/init.d/fdfs_trackerd start )

命令:/etc/init.d/fdfs_storaged start (关闭:/etc/init.d/fdfs_storaged stop 初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)
在这里插入图片描述


6 查看FastDFS storage 是否启动成功
命令:ps -ef | grep fdfs
在这里插入图片描述
并且我们进入到/fastdfs/storage/data/文件夹下会看到一些目录文件(256*256) ,如下:
命令:cd /fastdfs/storage/data/ && ls
在这里插入图片描述


7 同理,也可以设置开机启动存储器:(一般生产环境需要开机启动一些服务, 如keepalived、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start

到此,搭建基本完成,接下来可以进行测试


1.2.4 测试

1 我们先使用命令上传一个文件。注意:是在tracker(跟踪器)中上传。
首先我们在跟踪器(192.168.91.101)里copy一份client.conf文件。
命令:cd /etc/fdfs/
命令:cp client.conf.sample client.conf

在这里插入图片描述


2 编辑client.conf文件
命令:vim /etc/fdfs/client.conf
修改内容:
base_path=/fastdfs/tracker
tracker_server=192.168.91.101:22122


3 我们找到命令的脚本位置,并且使用命令,进行文件的上传:
命令:cd /usr/bin/ && ls | grep fdfs
在这里插入图片描述


4 使用命令fdfs_upload_file进行上传操作:
首先,我们先看一下存储器(192.168.91.102),进入到data下,在进入00文件夹 下,发现00文件夹下还有一堆文件夹,然后继续进入00文件夹下,最终我们所 进入的文件夹为:
/fastdfs/storage/data/00/00 里面什么文件都没有。
在这里插入图片描述

然后,我们进行上传操作,比如把之前的/usr/local/software/文件夹下的某一个 文件上传到FastDFS系统中去,在跟踪器(192.168.91.101)中上传文件,命令如 下:
命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/FastDFS_v5.05.tar.gz
在这里插入图片描述最后我们发现,命令执行完毕后,返回一个group1/M00/00/00/…的ID,其实就 是返回当前所上传的文件在存储器(192.168.91.102)中的哪一个组、哪一个目 录位置,所以我们查看存储器中的/fastdfs/storage/data/00/00文件夹位置,发现 已经存在了刚才上传的文件,到此为止,我们的测试上传文件已经OK了。如下
在这里插入图片描述


二、FastDFS_与Nginx整合配置

1 首先两台机器里必须先安装nginx


2 然后我们在存储节点上(192.168.91.102)(注意:我两个节点都进行了此操作)
安装fastdfs-nginxmodule_v1.16.tar.gz包进行整合。
在这里插入图片描述
目录命令:cd /usr/local/software/
解压命令:tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
在这里插入图片描述


3 进入目录:cd fastdfs-nginx-module/src/
在这里插入图片描述


4 编辑配置文件config
命令: vim /usr/local/fast/fastdfs-nginx-module/src/config 修改内容:
去掉下图中的local文件层次
在这里插入图片描述


注意:下面的操作我只在存储节点(192.168.91.102上进行


5 FastDFS与nginx进行集成 首先把之前的nginx进行删除

注意:如果已经安装了nginx 。可以不删除,在nginx安装目录,添加模块后 ./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/ ,使用make 和 make install

在这里插入图片描述在这里插入图片描述补充:因为只make 了,没有make install 。启动nginx时,报错:[emerg] unknown directive “ngx_fastdfs_module” in /usr/local/nginx/conf/nginx.conf:47
所以make install
在这里插入图片描述

(不推荐使用下面 做法:
目录命令:cd /usr/local/
删除命令:rm -rf nginx
进入到nginx目录命令:cd nginx-1.6.2/
加入模块命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新编译命令:make && make install
)


6 复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中,如图所示:
在这里插入图片描述在这里插入图片描述
copy命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs


7 进行修改 /etc/fdfs/ 目录下,我们刚刚copy过来的mod_fastdfs.conf 文件
在这里插入图片描述
命令:vim /etc/fdfs/mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
connect_timeout=10
tracker_server=192.168.91.101:22122
url_have_group_name = true
store_path0=/fastdfs/storage

在这里插入图片描述


8 复制FastDFS里的2个文件,到/etc/fdfs目录中,如图所示
在这里插入图片描述
目录命令:cd /usr/local/fast/FastDFS/conf/
Copy命令:cp http.conf mime.types /etc/fdfs/


9 创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录。
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
在这里插入图片描述


10 修改Nginx配置文件,如图所示:
在这里插入图片描述
命令:vim nginx.conf 修改配置内容
如下图所示:
在这里插入图片描述
修改内容为:
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}

注意:nginx里的端口要和第五步配置FastDFS存储中的storage.conf文件配置一致, 也就是(http.server_port=8888)


11 最后检查防火墙,然后我们启动nginx服务

启动命令:/usr/local/nginx/sbin/nginx,我们刚才上传了一个文件,上传成功, 如图:
在这里插入图片描述

在这里插入图片描述


重新上传文件(192.168.91.101 traker 跟踪器上传),获取key值。
命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/FastDFS_v5.05.tar.gz
在这里插入图片描述group1/M00/00/00/wKhbZlyAT26AG5p9AAVFOL7FJU4.tar.gz

现在我们使用这个ID用浏览器访问地址(storage):
http://192.168.91.102:8888/group1/M00/00/00/wKhbZlyAT26AG5p9AAVFOL7FJU4.tar.gz

我们就可以下载这个文件啦!如下图所示:
在这里插入图片描述
运维注意:我们在使用FastDFS的时候,需要正常关机,不要使用kill -9 强杀FastDFS进程,不然会在文件上传时出现丢数据的情况。 到此,我们的FastDFS与Nginx整合完毕!!


1.2.4 启动停止服务步骤如下:

启动命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
启动storage命令:/etc/init.d/fdfs_storaged start
查看进程命令:ps -el | grep fdfs
启动nginx命令:/usr/local/nginx/sbin/nginx

停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
关闭storage命令:/etc/init.d/fdfs_storaged stop
关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop


参考

白老师视频教程

猜你喜欢

转载自blog.csdn.net/qq_31156277/article/details/88146953