本文FastDFS安装环境:
centos6.2 64位
GCC
FastDFS 3.06
libevent 2.0.17-stable (FastDFS依赖包)
Tracker Server,Storage Server都安装在一台服务器上,IP:192.168.1.44

一.安装

1.1 准备

FastDFS 安装文件 、libevent 包
官网:


FastDFS :  http://code.google.com/p/fastdfs/
Libevent :   http://libevent.org/

下载:

wget  https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
wget http://fastdfs.googlecode.com/files/FastDFS_v3.06.tar.gz     

1.2安装Libevent

tar -xvf libevent-2.0.17-stable.tar.gz
cd libevent-2.0.17-stable

源码安装

./configure –prefix=/usr  
make clean
make  
make install

1.3 安装FastDFS

tar -xvf FastDFS_v3.06.tar.gz
cd FastDFS
./make.sh    (如果需要HTTP支持,将make.sh中”# WITH_HTTPD=1″的#去掉)
./make.sh install

安装结束 运行 ·/usr/local/bin/fdfs_trackerd· 如果显示

Usage: /usr/local/bin/fdfs_trackerd <config_file>

则安装成功
PS:如果提示找不到libevent-2.0.so.5 则:
1.64位系统

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

32 位系统

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

2.如果执行上面的ln -s 操作仍然提示找不到libevent-2.0.so.5 则删除

/usr/lib(64)/libevent-2.0.so.5执行下面的操作

64位

cp /opt/libevent-2.0.17-stable/.libs/libevent-2.0.so.5 /usr/lib64/

32位

cp /opt/libevent-2.0.17-stable/.libs/libevent-2.0.so.5 /usr/lib/

二.配置

FastDFS的配置文件在%解压目录%/conf目录下(本例中安装成功后会在/etc/fdfs/下自动生成),其中包括

Client.conf                客户端上传配置文件
Storage.conf    文件存储服务器配置文件
Tracker.conf    负责均衡调度服务器配置文件
http.conf          http服务器配置文件

配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档
http://code.google.com/p/fastdfs/wiki/Setup
以及FastDFS原理介绍文档
http://code.google.com/p/fastdfs/wiki/Overview
在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:192.168.1.44

2.1 配置及启动Tracker Server

A、修改/etc/fdfs/tracker.conf文件,修改如下
可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动

base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/fastdfs_tracker   

改成你想要的http端口,将来http下载文件的端口就是他了,本例中没有更改还是用8080

http.server_port=8080 -> http.server_port=8090   

http支持

##include http.conf -> #include http.conf   

默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动,本例没有改,仍为4GB

reserved_storage_space = 4GB -> reserved_storage_space = 1GB    

tracker server对storage server供服务的端口,使用默认的即可,也可以自定义 本例中使用默认

port=22122  

B、将http.conf文件拷贝到/etc/fdfs目录下,(确保/etc/fdfs下有httpd.conf文件)执行

cp %解压目录%/conf/http.conf /etc/fdfs/  

注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param http.XXX not exist or is empty类似的错误
C、进入/usr/local/bin/目录,启动tracker服务器,执行


/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

D、查看进程和日志

ps -ef 查看进程,如果有进程则看日志是否有错误

进入/fastdfs/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似
则tracker server已经启动成功!

2.2 配置及启动Storage Server

A、修改/etc/fdfs/storage.conf文件,修改如下:
可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息

base_path=/home/yuqing/fastdfs -> /fastdfs/fastdfs_storge

文件的存储位置,在一台storage server上可以指定多个存储位置

store_path0=/home/yuqing/fastdfs -> store_path0=/fastdfs/fastdfs_storge/storge1
store_path0=/fastdfs/fastdfs_storge/storge2

必须指定group name

group_name=group1  

修改成tracker server的IP和端口信息

tracker_server=192.168.209.121:22122 -> tracker_server=192.168.1.44:22122
http支持

##include http.conf ->#include http.conf

B、启动storage服务器,执行

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

如无意外应该看到下图
C、验证进程和查看日志

ps -ef验证进程之后more /fastdfs/fastdfs_storge/logs/storaged.log查看storage服务器启动日志,如果看到类似
则storage server已经启动成功!

3.验证及使用

经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

3.1 上传文件

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。
1、修改/etc/fdfs/client.conf文件,修改如下:
可自定义,但此目录必须存在,用于存放文件上传log

base_path=/home/yuqing/fastdfs-> base_path=/fastdfs/fastdfs_client

改tracker的ip


tracker_server=192.168.0.197:22122->tracker_server=192.168.1.44:22122

改端口,本例没有改

http.tracker_server_port=8080 ->http.tracker_server_port=8090

支持http

##include http.conf ->#include http.conf

2、上传文件
先创建一个名为aaa的文件 touch /tmp/aaa
之后执行


/usr/local/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/aaa

如果命令行反馈类似如下:

出现file url 则说明上传文件成功。

3.2下载文件

可以用默认客户端也可以自己集成,用自带默认客户端 在编译时要开启http支持,并在storage.conf、 tracker.conf 中开启http 支持,本文用默认客户端。
在浏览器中,输入上图中的url地址, tracker server会自动重定向到存储文件的storage server,文件下载成功。
至此,已经成功搭建了FastDFS

ps : 通过上传下载文件验证功能比较麻烦,Fastdfs 有提供一个叫fdfs_monitor的工具可以查看fastdfs的详细工作状态,如果工作不正常会提示有错误,例如:

1.查看storage的工作状态:fdfs_monitor  /etc/fdfs/storage.conf
2.查看fastdfs的工作状态 :fdfs_monitor  /etc/fdfs/client.conf
查看tracker的工作状态和第2步是一样的,不能用fdfs_monitor /etc/fdfs/tracker.conf 来查看,否则会报错.
根据已上步骤的shell脚本见:   http://www.52os.net/articles/how-to-install-and-configure-fastdfs-tracker-and-storage.html

4.参考文档
官网 http://code.google.com/p/fastdfs/
官方论坛 http://bbs.chinaunix.net/forum-240-1.html(有配置文件详解)
http://blog.csdn.net/poechant/article/details/6995697