网络云盘项目:03---FastDFS集群部署

  • 本项目分为6篇博客文章完成:
    • 1.项目总体介绍:https://blog.csdn.net/qq_41453285/article/details/107871393
    • 2.Redis部署、MySQL部署、MySQL表设计:https://blog.csdn.net/qq_41453285/article/details/107871620
    • 3.FastDFS集群部署:本文介绍的
    • 4.Nginx配置:https://blog.csdn.net/qq_41453285/article/details/107889933
    • 5.服务端/客户端部署、演示运行效果:https://blog.csdn.net/qq_41453285/article/details/107891262
    • 6.HTTP接口介绍、功能介绍、服务端/客户端代码解析:https://blog.csdn.net/qq_41453285/article/details/107893049

一、本文目的

  • 因为我们的Nginx会将接收到的文件都保存到FastDFS中,因此此处先将FastDFS集群搭建好
  • 另外,我们的文件是存储在FastDFS中的,MySQL总存储的是文件的信息
  • 另外,我们需要通过Nginx访问FastDFS,这一步骤请参阅:https://blog.csdn.net/qq_41453285/article/details/107889933

二、安装fastdfs

  • 可以通过下载FastDFS的源码包来编译安装FastDFS
  • FastDFS的安装就不详细介绍了,可以参阅我之前的链接:https://blog.csdn.net/qq_41453285/article/details/107158911

三、安装libfastcommon库

  • 我们的服务端使用C语言编写,其会在代码中操作FastDFS数据库,对文件进行增加和删除
  • libfastcommon是C语言用来操作FastDFS的程序库,因此需要安装这个库
  • 安装就不详细介绍了,可以参阅:https://blog.csdn.net/qq_41453285/article/details/107158911

四、FastDFS集群搭建

  • 此处我们就不介绍FastDFS的各种原理了,直接进行集群部署了

第一步(复制配置文件)

  • 安装好了fastdfs之后,fastdfs的默认配置文件存放在/etc/fdfs/目录下。我们把/etc/fdfs/目录下的tracker.conf.sample文件和storage.conf.sample、client.conf.sample文件分别复制一份,名为tracker.conf、storage.conf、client.conf,还是放在/etc/fdfs/目录下
ls /etc/fdfs

sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

ls /etc/fdfs

第二步(配置启动tracker端)

  • 在家目录下创建一个fastdfs目录,用来存放集群的所有内容(包括tracker和client的,文本下面都会用到这个目录);然后在fastdfs目录下创建一个tracker目录,用来存放与tracker端的信息
mkdir ~/fastdfs

mkdir -p ~/fastdfs/tracker

ls ~/fastdfs

  • 修改/etc/fdfs/目录下的trakcer.conf配置文件,用来启动tracker端
sudo vim /etc/fdfs/tracker.conf
  • 修改的内容有:
    • base_path:用来存储tracker节点信息和日志的目录(此处设置为我们上面创建的~/fastdfs/tracker目录,注意不能用~号,所以要使用全路径)
    • 其他的参数不需要变动

网络云盘项目:03---FastDFS集群部署_第1张图片

  • 启动tracker服务端,并查看是否启动成功:
sudo fdfs_trackerd /etc/fdfs/tracker.conf

netstat -aptn | grep 22122

网络云盘项目:03---FastDFS集群部署_第2张图片

  • 可以查看tracker的相关的文件:
    • data:存储tracker节点的相关数据
    • log:存储tracker节点的日志
ls ~/fastdfs/tracker/

ls ~/fastdfs/tracker/data

ls ~/fastdfs/tracker/logs

网络云盘项目:03---FastDFS集群部署_第3张图片

第三步(配置启动storage端)

  • fastdfs目录下创建一个storage目录,用来存放与storage端的信息;然后在storage目录下再创建一个store_data目录用来存放storage节点实际的文件数据(store_path0选项指定的地址)
mkdir -p ~/fastdfs/storage

mkdir -p ~/fastdfs/storage/store_data

ls ~/fastdfs

  • 修改/etc/fdfs/目录下的storage.conf配置文件,用来启动tracker端
sudo vim /etc/fdfs/storage.conf
  • 修改的内容有:
    • base_path:用来存储storage节点信息和日志的目录(此处设置为我们上面创建的~/fastdfs/storage目录,注意不能用~号,所以要使用全路径)
    • store_path0:真正存储文件数据的,设置为上面我们设置的目录;其会在该目录下创建data目录用来存储文件数据
    • tracker_server:要连接的tracker服务地址,此处填写我们上面创建的tracker服务

网络云盘项目:03---FastDFS集群部署_第4张图片

网络云盘项目:03---FastDFS集群部署_第5张图片

  • 启动storage节点,并查看是否启动成功:
sudo fdfs_storaged /etc/fdfs/storage.conf

# 过10秒左右再查看(因为storage需要创建很多目录)
netstat -aptn | grep 23000

网络云盘项目:03---FastDFS集群部署_第6张图片

  • 可以查看storage节点的目录结构:
    • data:存储storage节点的相关数据
    • log:存储storage节点的日志
    • store_data:storage实际存放数据文件的地方
ls ~/fastdfs/storage/

  • 输入下面的命令查看tracker与storage是否相连成功:
netstat -aptn | grep 22122

网络云盘项目:03---FastDFS集群部署_第7张图片

第四步(修改客户端配置文件)

  • fastdfs目录下创建一个client目录,用来存放与client端的信息(此处的client就是我们的FastCGI后台服务进程)
mkdir -p ~/fastdfs/client

ls ~/fastdfs

  • 修改/etc/fdfs/目录下的client.conf文件
sudo vim /etc/fdfs/client.conf
  • 修改的内容有:
    • base_path:存储客户端相关文件,填上面我们建立的目录
    • tracker_server:要连接的tracker_server服务端地址

网络云盘项目:03---FastDFS集群部署_第8张图片

  • 检测集群状态,可以看到集群状态正常,当前有一个storage节点
fdfs_monitor /etc/fdfs/client.conf

网络云盘项目:03---FastDFS集群部署_第9张图片

  • 此处我们不需要启动任何客户端,因为在我们的服务端代码中会使用到这个配置文件,FastCGI在接收到Nginx转发过来的客户端上传文件请求时,会自己通过C语言来调用fdfs_upload_file工具来上传文件(在服务端代码讲解时会详细介绍)

你可能感兴趣的:(项目专栏)