一、本文目的
源码下载方式
二、安装fastdfs
三、安装libfastcommon库
四、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目录,注意不能用~号,所以要使用全路径)。
- 其他的参数不需要变动。
sudo fdfs_trackerd /etc/fdfs/tracker.conf
netstat -aptn | grep 22122
- 可以查看tracker的相关的文件:
- data:存储tracker节点的相关数据。
- log:存储tracker节点的日志。
ls ~/fastdfs/tracker/
ls ~/fastdfs/tracker/data
ls ~/fastdfs/tracker/logs
第三步(配置启动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服务。
sudo fdfs_storaged /etc/fdfs/storage.conf
# 过10秒左右再查看(因为storage需要创建很多目录)
netstat -aptn | grep 23000
- 可以查看storage节点的目录结构:
- data:存储storage节点的相关数据。
- log:存储storage节点的日志。
- store_data:storage实际存放数据文件的地方。
ls ~/fastdfs/storage/
- 输入下面的命令查看tracker与storage是否相连成功:
netstat -aptn | grep 22122
第四步(修改客户端配置文件)
- 在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服务端地址。
- 检测集群状态,可以看到集群状态正常,当前有一个storage节点。
fdfs_monitor /etc/fdfs/client.conf
- 此处我们不需要启动任何客户端,因为在我们的服务端代码中会使用到这个配置文件,FastCGI在接收到Nginx转发过来的客户端上传文件请求时,会自己通过C语言来调用fdfs_upload_file工具来上传文件(在服务端代码讲解时会详细介绍)。