安装依赖包
1 | yum install make cmake gcc gcc-c++ |
安装 libfastcommon (所有服务器上)
上传安装libfastcommon
- 将包 libfastcommon-master.zip 上传到/usr/local/src 目录,并解压
1 | cd /usr/local/src/ |
创建软链接
因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接。
1 | ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so |
注意:此处不要惊讶为什么没有libfdfsclient.so,因为还没有安装,安装FastDFS之后,这个文件就会被创建的。
安装FastDFS
FastDFS安装包可以在众签提供的源码包中找到,也可以自行从网上下载,版本是:FastDFS_v5.05.tar.gz
上传安装FastDFS
- 将FastDFS 源码包上传到服务器的 /usr/local/src 目录,并解 压
1 | cd /usr/local/src/ |
FastDFS的文件介绍
以上是采用默认的方式安装的FastDFS,安装后相应的服务脚本、命令和启动文件如下:
a. 服务脚本文件的路径是:
1 | /etc/init.d/fdfs_storaged |
b. 配置文件的路径是:
1 | /etc/fdfs/client.conf.sample |
c. 命令文件的路径是:
1 | /usr/bin/fdfs_append_file |
修改服务脚本文件
- 因为FastDFS采用默认方式安装,服务脚本文件中默认配置的FastDFS命令文件路径是/usr/local/bin,但是默认方式安装的命令文件实际路径如上所展示,目录是/usr/bin ,所以需要修改服务脚本中的命令了路径,修改方式如下:
1 | 修改tracker服务脚本 |
配置FastDFS追踪器tracker
修改tracker配置文件
1 |
|
创建FastDFS存储路径
1 | mkdir –p /home/fastdfs/tracker |
修改防火墙,放开tracker端口
注:此服务端口,不需要被外网访问,请在防火墙中禁止此端口被外网访问,但是此端口一定要允许内网中可以访问,调整防火墙是为了让此服务被内网服务访问。
以本机iptables为例
1 | vi /etc/sysconfig/iptables |
启动tracker服务,并检查是否正常启动
使用如下两种命令之一启动tracker服务
1 | service fdfs_trackerd restart |
方式一:启动服务后,在目录/home/fastdfs/tracker目录下会看到一个data、logs目录,通过一下命令观察tracker是否启动成功
1 | tail -20f /home/fastdfs/tracker/logs/trackerd.log |
当看到以上信息的时候表示tracker已经正常启动
方式二:执行命令
1 | netstat -unltp|grep fdfs |
能出现以上信息,也能表示启动FastDFS的tracker服务启动成功。
设置 FastDFS 跟踪器开机启动
1 | vi /etc/rc.d/rc.local |
配置FastDFS存储器storage
修改storage配置文件
1 |
|
创建FastDFS存储路径
1 | mkdir –p /home/fastdfs/storage |
修改防火墙,放开storage端口
注:此服务端口,不需要被外网访问,请在防火墙中禁止此端口被外网访问,但是此端口一定要允许内网中可以访问,调整防火墙是为了让此服务被内网服务访问。
以本机iptables为例
1 | vi /etc/sysconfig/iptables |
启动tracker服务,并检查是否正常启动
使用如下两种命令之一启动tracker服务
1 | service fdfs_storaged restart |
方式一:启动服务后,在目录/home/fastdfs/storaged目录下会看到一个data、logs目录,通过一下命令观察tracker是否启动成功
1 | tail -20f /home/fastdfs/storage/logs/storaged.log |

当看到以上信息的时候表示storage已经正常启动
当然也可以查看下tracker的日志,已经发生了变化,变化如下
方式二:执行命令
1 | netstat -unltp|grep fdfs |
- 能出现以上信息,也能表示启动FastDFS的stroage服务启动成功。
设置 FastDFS 存储器开机启动
1 | vi /etc/rc.d/rc.local |
检查集群信息
1 | /usr/bin/fdfs_monitor /etc/fdfs/storage.conf |
- 使用以上命令,可以看到整个FastDFS集群的storage的分组以及组中storge的个数。如下图
利用文件上传测试服务安装是否成功
修改tracker服务器中的客户端配置文件client.conf
1 | 从模板创建配置文件 |
执行命令上传一个文件
1 | /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz |
- 如果上传成功会返回一个ID号如下:
1 | group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz |
- 可以去/home/fastdfs/storage/data/00/00/目录中找到此名称为wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz的文件。
在存储节点安装nginx服务。
fastdfs-nginx-module 作用说明
- FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 存储器中的一台如sg1,上传成功后文件 ID已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储sg2,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 sg2 上取文件,就会出现文件无法访问的错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。(解压后的 fastdfs-nginx-module 在 nginx 编译安装时使用)
上传fastdfs-nginx模块
- 将fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/src,解压
1 | cd /usr/local/src/ |
修改 fastdfs-nginx模块的配置文件
1 | vi /usr/local/src/fastdfs-nginx-module/src/config |
上传Nginx源码包
- 将当前的稳定版本 Nginx上传到到/usr/local/src 目录
可以从官方网站下载最新版本(文档书写时最新稳定版是https://nginx.org/download/nginx-1.14.0.tar.gz)。文档是使用的版本是nginx-1.14.0.tar.gz
安装编译 Nginx 所需的依赖包
1 | yum install gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel |
编译安装 Nginx
- 添加 fastdfs-nginx-module 模块
1 | cd /usr/local/src/ |
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录
- 上传配置文件并修改
1 | cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ |
以上是按照两个group组来,实际操作过程中,如果只有一个组可以做如下修改
1 | vi /etc/fdfs/mod_fastdfs.conf |
复制 FastDFS 的部分配置文件到/etc/fdfs 目录
1 | cd /usr/local/src/FastDFS/conf |
在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录
1 | ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00 |
修改 Nginx配置文件,简洁版 nginx 配置样例
1 | vi /usr/local/nginx/conf/nginx.conf |
注意:
8888端口要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应
nginx.conf第一行的user 一定要写成root
修改防火墙,放开NGINX端口
注:此服务端口,不需要被外网访问,请在防火墙中禁止此端口被外网访问,但是此端口一定要允许内网中可以访问,调整防火墙是为了让此服务被内网服务访问。
以本机iptables为例
1 | #vi /etc/sysconfig/iptables |
重启防火墙,使配置生效。
1 | service iptables restart |
启动NGINX
1 | /usr/local/nginx/sbin/nginx |
在控制台会出现以下内容
1 | ngx_http_fastdfs_set pid=xxx |
(重启 Nginx 的命令为:/usr/local/nginx/sbin/nginx -s reload)
NGINX加入开机启动
1 | vi /etc/rc.local |
通过浏览器测试访问6.2步骤中上传的文件
wget http://127.0.0.1:8888/group1/M00/00/00/wKgBh1Xtr9-AeTfWAAVFOL7FJU4.tar.gz 如果能获取到此文件,表示配置成功
至此,配置FastDFS已经完成。
软件下载地址放在本文的下方的评论区