Nginx+FastDFS分布式文件系统搭建及测试

背景:在集群部署环境下,随着团队发展,出现瓶颈:

  1. 服务器磁盘有上限,不够用
  2. 出现单点故障

因此,创建一个分布式文件管理系统的新架构,希望有两个特点:

  1. 容量能够水平扩展
  2. 服务之间能够实现负载均衡

FastDFS是最快的分布式文件系统,主要用来进行文件管理。
其功能主要有:(1)文件存储(2)文件同步(3)文件访问(上传和下载等) 解决了大容量存储了负载均衡的问题。

FastDFS原理图:
在这里插入图片描述
FastDFS服务端有两个角色:跟踪器(Tracker)和存储节点(storage):

  1. 跟踪器主要做调度工作,在访问上起负载均衡的作用
  2. 存储节点主要工作:存储、同步和提供存取接口。

整体来说,FastDFS有两个主要特点:

  • 高可靠性,无单点故障
  • 高吞吐量,只要Group组足够多,数据流量是足够分散的。

搭建图片服务器

1.安装依赖环境
FastDFS由C语言开发,在linux命令行中输入如下指令:
yum -y install gcc-c++
在这里插入图片描述
yum -y install libevent
在这里插入图片描述
2.上传安装文件
在这里插入图片描述
在/usr/local下创建fastdfs包:mkdir fastdfs
使用Xftp将上述四个压缩文件上传到/usr/local/fastdfs目录下
在这里插入图片描述
3.安装libfastcommon

  1. 进入fastdfs目录下:cd usr/local/fastdfs

  2. 解压libfastcommon的压缩包:tar -zxf libfastcommonV1.0.7.tar.gz

  3. 进入解压后libfastcommon的子目录:cd libfastcommon-1.0.7

  4. ll查看子目录
    在这里插入图片描述

  5. 运行命令进行编译:./make.sh

    扫描二维码关注公众号,回复: 11994745 查看本文章
  6. 执行安装指令:./make.sh install

注意:libfasstcommon安装好后会自动把库文件拷贝至usr/lib64目录下,所以我们将其拷贝到usr/lib的libfastcommon的引用目录中

  1. 进入lib64目录:cd /usr/lib64
  2. 将libfastcommon.so 文件拷贝至/usr/lib下:cp libfastcommon.so /usr/lib

4.安装FastDFS_v5.05(tracker+storage)

  1. 进入fastdfs目录:cd /usr/local/fastdfs

  2. 解压FastDFS_v5.0.5压缩包: tar -zxf FastDFS_v5.0.5.tar.gz

  3. 进入FastDFS目录下:cd FastDFS

  4. 运行命令进行编译:./make.sh

  5. 执行安装指令:./make.sh install

  6. 安装成功后,将conf下文件拷贝到/etc/fdfs文件下,目的是为Nginx做准备:1.cd /usr/local/fastdfs/FastDFS/conf/
    2.cp * /etc/fdfs

    a.安装tracker服务:
    配置tracker服务,修改/etc/fdfs/tracker.conf文件:cd tracker
    在这里插入图片描述
    打开跟踪器配置文件:vim /etc/fdfs/tracker.conf
    找到base_path,并将其后缀地址改为/usr/local/fastdfs/FastDFS/tracker
    在这里插入图片描述
    启动tracker:
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

    b.安装storage:

  7. 修改storage存储文件:cd storage

  8. 输入pwd,复制地址

  9. 修改storage配置文件:vim /etc/fdfs/storage.conf

  10. base_path=/usr/local/fastdfs/FastDFS/storage

  11. store_path0=/usr/local/fastdfs/FastDFS/storage

  12. 修改跟踪器地址(ip地址+tracker端口号):tracker_server=192.168.157.129:22122

    启动storage服务:
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

5.配置客户端
13. 拷贝libfdfsclient.so至 /usr/lib :cp libfdfsclient.so /usr/lib
在这里插入图片描述
14. 修改配置文件/etc/fdfs/client.conf:在这里插入图片描述
15. 修改base_path地址和交互的tracker地址(IP+端口号):
在这里插入图片描述
6.安装Nginx及Nginx依赖
16. yum命令安装Nginx依赖环境:
(1)PCRE:
在这里插入图片描述
(2)zlib:
在这里插入图片描述
(3)openssl:
在这里插入图片描述
17. 解压Nginx插件压缩包:
在这里插入图片描述
18. 配置config文件,将其中local去掉:
在这里插入图片描述
输入:
在这里插入图片描述
19. 将/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下,并编辑:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
20. 解压Nginx:tar -zxf nginx-1.8.1.tar.gz
在这里插入图片描述
21. 对Nginx重新config:./configure --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src其中=后面地址要根据自己Nginx插件地址填写,非固定。
在这里插入图片描述
22.执行编译和安装:(1)make (2)make install

  1. 进入Nginx目录下,并对conf文件进行配置:
    在这里插入图片描述
    加入如下代码,表示当遇到/group1/M00/ 地址请求时,将处理交给nginx插件去处理:
    在这里插入图片描述

启动Nginx服务:在nginx的sbin目录下执行:./nginx

查看Nginx工作状态:
在这里插入图片描述
主进程master和工作进程worker都已启动,Nginx启动成功!

测试Nginx:在浏览器中输入虚拟机ip地址,出现Nginx默认页面:在这里插入图片描述
测试FastDFS能否运行:

  1. 在根目录下创建一个html页面:随便写一个Hi,FastDFS!在这里插入图片描述
  2. 将该文件上传至服务器:/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html
  3. 复制最后一行的文件地址file url在浏览器中访问:
    在这里插入图片描述
    访问成功:
    在这里插入图片描述
    注意:本虚拟机防火墙未开,因此没有配置默认80端口,若无法访问,请配置下防火墙80端口号。

猜你喜欢

转载自blog.csdn.net/weixin_41570890/article/details/109106046