环境准备:Centos7
IP地址:192.168.238.130
1、首先安装相关依赖包,执行命令如下:
yum install gcc gcc-c++ make libevent #FastDFS依赖libevent库,需要安装
2、安装libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库,下载地址:
https://github.com/happyfish100/libfastcommon/releases或git clone https://github.com/happyfish100/libfastcommon.git --depth 1
下载完成后解压以及安装,命令如下:
mkdir -p /data/fdfs && cd /data/fdfs # 创建目录并进入rz -y libfastcommon.tgztar xf libfastcommon.tgz # 解压cd libfastcommon./make.sh && ./make.sh install # 编译和安装
3、安装FastDFS
安装包下载地址为:
https://github.com/happyfish100/fastdfs/releases或git clone https://github.com/happyfish100/fastdfs.git --depth 1
下载完成后解压以及安装,命令如下:
cd data/fdfsrz -y fastdfs-6.07.tar.gztar xf fastdfs-6.07.tar.gzcd fastdfs-6.07./make.sh && ./make.sh install # 编译以及安装#注意:如果编译出错误可以先执行./make.sh clean 清除,然后重新执行./make.sh即可
安装完成后,在/etc/init.d/中可以看到跟踪器和存储器的可执行文件,如图:

配置文件准备:
mv /etc/fdfs/client.conf.sample /etc/fdfs/client.confmv /etc/fdfs/storage.conf.sample /etc/fdfs/storage.confmv /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
配置FastDFS跟踪器(Tracker)
编辑tracker.conf,修改内容如下:
# 配置文件是否不生效,false 为生效disabled=false# 提供服务的端口port=22122# Tracker 数据和日志目录地址base_path=/data/fastdfs/tracker# HTTP 服务端口 默认8080 ,建议修改 防止冲突http.server_port=9080
创建tracker基础数据目录,即base_path对应的目录:
mkdir -p /data/fastdfs/tracker
启动tracker:
/etc/init.d/fdfs_trackerd start 或者 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf#添加到开机自启动文件中echo "/etc/init.d/fdfs_trackerd start" >> /etc/rc.d/rc.local#给rc.local赋予可执行权限chmod +x /etc/rc.d/rc.local#关闭命令/etc/init.d/fdfs_tracked stop
执行命令/etc/init.d/fdfs_tracked status查看状态,如下:

Tracker服务启动成功后,会在base_path下创建data、logs两个目录。目录结构如下:

注意:tracker 不去主动读取storage的相关信息,而是由storage主动推送给tracker,因此必须先启动tracker
配置 FastDFS 存储 (Storage)
编辑storage.conf文件,主要修改位置如下:
# Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成) (注 :这里不是上传的文件存放的地址,之前版本是的,在某个版本后更改了)base_path=/data/fastdfs/datalog# 配置组名group_name = group1# 如果不配置 store_path0,那它就和 base_path 对应的路径一样,这个路径才是真正储存文件的地方store_path0=/data/fastdfs/storage0# tracker_server 的列表 ,会主动连接 tracker_server# 有多个 tracker server 时,每个 tracker server 写一行tracker_server=192.168.238.130:22122#http_server_port,默认为8888,后续需要和nginx端口保持一致http.server_port = 8888
创建Storage数据目录,如下:
mkdir -p /data/fastdfs/datalogmkdir -p /data/fastdfs/storage0
启动storage,命令如下:
/etc/init.d/fdfs_storaged start 或 /usr/bin/fdfs_storaged /etc/fdfs/storage.confecho "/etc/init.d/fdfs_storaged start" >> /etc/rc.d/rc.local #添加到开机启动项中
查看storage运行状态,如图:

查看Storage和Tracker是否在通信,出现下面内容表示在通信,如图:

配置客户端文件(client.conf)
编辑client.conf,修改内容如下:
#client的数据和日志目录base_path = /data/fastdfs/client#tracker的服务和端口tracker_server = 192.168.238.130:22122
创建数据和日志目录:
mkdir -p /data/fastdfs/client
测试上传
创建文件并上传,如下:
echo "hello world fastdfs" > fdfs.txt #定义文件[root@centos-minimal ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf fdfs.txtgroup1/M00/00/00/wKjugmTdbm6AO3ssAAAAFAK2GLE468.txt
上传成功后,可以找到文件位置在/data/fastdfs/storage0/data/00/00路径下,如图:

访问
此时直接通过Nginx就可以实现访问了,Nginx配置如下:


如果是java应用连接fastdfs,可直接通过22122即可,如果前端页面访问可通过Nginx
本例子中没有使用fastdfs-nginx-module模块,如果是单节点的fastdfs,其实可以不使用此模块,后面文章将讲解fastdfs-nginx-module模块的使用




