【FastDFS搭建详解】

一、所需基本环境

软件版本

1、Linux版本:CentOS7
2.libfastcommon 版本:1.0.7
3.FastDfs版本:5.05
安装过程中需要的依赖(已安装,不需要)
1、安装gcc
yum install gcc-c++
2、安装libevent工具包
yum -y install libevent
3、安装wget
yum -y install wget

二、安装 libfastcommon 和 FastDFS

1安装libfastcommon
(1)下载安装 libfastcommon ,这里是通过wget下载:
a) wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
(2).解压 libfastcommon,命令:
b) tar -zxvf V1.0.7.tar.gz
(3)进入libfastcommon-1.0.7目录,命令:
c) cd /usr/local/libfastcommon-1.0.7
(4).编译
d) ./make.sh
(5).编译安装,命令:
./make.sh install
显示这样的画面,就是安装 libfastcommon 成功啦。

2安装FastDFS
(1).下载安装 FastDFS,这里也是通过wget下载
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
(2).解压 FastDFS ,命令:
tar -zxvf V5.05.tar.gz
(3).进入fastfds-5.05目录,命令:
cd /usr/local/fastdfs-5.05
(4).编译
./make.sh
(5).编译安装,命令:
./make.sh install
显示这样的画面,就是安装 FastDFS 成功啦。

三、配置文件服务器服务

1.安装Teacker服务
1.进入目录/etc/fdfs
cd /etc/fdfs/
2.修改文件tracker.conf.sample文件改为tracker.conf配置文件
cp tracker.conf.sample tracker.conf
3.使用vi编辑tracker.conf
vi tracker.conf
4.搜索base_path和http.server_port修改
修改的内容就是1.数据和日志的存放目录(base_path) 2.Tracker 服务器的端口号(http.server_port),修改为8080
5.修改完成后我们需要建立tracker的工作目录,不然启动报错(上面base_path配置的目录)
mkdir -p /data/fastdfs/tracker
6.启动tracker服务:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
fdfs_trackerd命令解释:
fdfs_trackerd <配置文件> 【start|stop|restart】默认是启动
7.查看监听:
ps -ef|grep fdfs 或 netstat -lnpt|grep fdfs

2.配置Storage 服务
1.进入目录/etc/fdfs
cd /etc/fdfs/
2.修改文件storage.conf.sample文件改为storage.conf配置文件
cp storage.conf.sample storage.conf
3.使用vi编辑storage.conf
vi storage.conf
4.搜索base_path、store_path0和tracker_server修改
修改的内容就是

  1. 数据和日志的存放目录(base_path)
  2. 设置store_path0(真是文件存在的路径)的地址,data文件夹下默认会创建256*256个文件夹
  3. 设置tracker_server服务器地址
    5.修改完成后我们需要建立storage的工作目录,不然启动报错(上面base_path配置的目录)
    mkdir -p /data/fastdfs/storage
    6.启动storage服务:
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
    fdfs_ storaged命令解释:
    fdfs_ storaged <配置文件> 【start|stop|restart】默认是启动
    7.查看监听:
    ps -ef|grep fdfs 或 netstat -lnpt|grep fdfs

查看日志文件,里面会产生data和log文件夹,data就是存放图片的位置
安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:

有active表示存储服务器和跟踪服务器通信成功

四、配置 fdfs_upload_file 上传文件

1.进入目录/etc/fdfs
cd /etc/fdfs/
2.修改文件client.conf.sample文件改为client.conf配置文件
cp client.conf.sample client.conf
3.使用vi编辑client.conf
vi client.conf
4.搜索base_path、tracker_server修改
修改的内容就是
1.数据和日志的存放目录(base_path)
2.设置tracker_server服务器地址
5.修改完成后我们需要建立storage的工作目录,不然启动报错(上面base_path配置的目录)
mkdir -p /data/fastdfs/client
常用命令:

  1. fdfs_test /etc/fdfs/client.conf upload /aaa.txt
    命令格式:fdfs_test <配置文件> <操作> 本地文件
    返回的结果:

返回的文件ID由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。

文件上传成功,但是不能通过http请求(浏览器)查看,如需访问,需要Nginx服务器的支持
安装完Nginx服务器,只需要在配置文件中加上

location /group1/M00{
 alias /data/fastdfs/storage/file/data;
 }


将fastdfs目录下的/koal/fastdfs-5.05/conf的http.conf和mime.types文件复制到/etc/fdfs目录下,浏览器才会多媒体文件
配置之后,既可以正常访问该路径下文件了
五FastDFS配置Nginx模块
1.fastdfs-nginx-module 模块说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进行文件复制, 有同步延迟的问题。fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。

  1. 下载 fastdfs-nginx-module、解压
    wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
    解压
    unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
    重命名
    mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module-master
    2.配置Nginx
    在Nginx中添加模块
    1.先停掉nginx服务
    /usr/local/nginx/sbin/ngix -s stop
    2.进入解压包目录
    cd /softpackages/nginx-1.12.1/
  2. 添加模块
    ./configure --add-module=…/fastdfs-nginx-module-master/src
    4.重新编译、安装
    make && make install
    5.查看Nginx的模块
    /usr/local/nginx/sbin/nginx -V
    有下面这个就说明添加模块成功