FastDFS原理:FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
需要说明的是,client为使用FastDFS服务的调用方,client也应该是一台服务器,它对tracker和storage的调用均为服务器间的调用。
20170809175430
1.1安装依赖应用:

yum install vim wget zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel 
libevent libevent-devel perl net-tools unzip -y

1.2上传libfastcommon-master.zip至/usr/local/路径下面
解压:(##如果没有安装解压工具,可以直接yum install unzip zip –y)
unzip libfastcommon-master.zip
进入到目录查看压缩包的内容:
20170809175446

1.3安装libfastcommon-master
解压完成后进行编译安装。由于文件没有make.sh脚本,所以编译安装执行命令:##在当前路径下直接执行如下命令:

./make.sh
./make.sh install

当./make.sh install编译后看见如下信息,表示变异完成。
20170809175500
至此,libfastcommon就已经安装成功了,这里需要留一下红色方框中标志的两个路径,其中libfastcommon.so是默认安装到/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以此处需要重新设置软连接。

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

设置完后开始安装fastdfs。

1.4安装fastdfs
1.4.1解压安装包

tar -zxvf fastdfs-5.05.tar.gz

1.4.2进入到目录下进行编译

cd fastdfs-5.05
./make.sh
./make.sh install

20170809175510
编译后 可以看见系统创建了标记的路径,进入查看,编译后的文件安装在了该路径下面。
20170809175519
将/etc/fdfs/路径下生成的三个文件拷贝生成正式的配置文件。

cd /etc/fdfs/
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

再次查看:
20170809175537

1.5配置,启动Tracker
Tracker在配置他之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等。在此,我将在/opt/目录下面创建一个 fastdfs_tracker目录,用于存放Tracker服务器的相关文件:
mkdir /opt/fastdfs_tracker
1.5.1更改配置文件
重新编辑上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做以下修改:

[root@localhost fdfs]# vim tracker.conf
1、disabled=false #启用配置文件(默认启用)
2、port=22122 #设置tracker的端口号,通常采用22122这个默认端口
3、base_path=/opt/fastdfs_tracker #设置tracker的数据文件和日志目录
4、http.server_port=6666 #设置http端口号,默认为8080

1.5.2配置启动路径:

ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin

最后通过命令启动Tracker服务器:

service fdfs_trackerd start

命令执行后可以看到以下提示:
20170809175547
查看端口是否被监听:
20170809175558

将启动命令加入到开机自启动。
echo “service fdfs_trackerd start” >>/etc/rc.d/rc.local

1.6配置,启动Storage
与Tracker做相似的修改
1.6.1创建存储目录
同理,步骤基本与配置Tracker一致,首先是创建Storage服务器的文件目录,需要注意的是同Tracker相比我多建了一个目录,因为Storage还需要一个文件存储路径,用于存放接收的文件::

mkdir /opt/ fastdfs_storage
mkdir /opt/fastdfs_storage_data

1.6.2修改编辑配置文件
接下来修改/etc/fdfs目录下的storage.conf配置文件,打开文件后依次做以下修改:

[root@localhost fdfs]# vim storage.conf
disabled=false #启用配置文件(默认启用)
group_name=group1 #组名,根据实际情况修改
port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/opt/fastdfs_storage_data #实际文件存储路径
tracker_server=192.168.199.33:22122   #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是为CentOS虚拟机ip),此处只装有一个server端  如果有两个,可在下面一行安装该模式,修改ip做添加。
http.server_port=8888 #设置 http 端口号

1.6.3配置启动路径
配置完成后同样要为Storage服务器的启动脚本设置软引用:

ln -s /usr/bin/fdfs_storaged /usr/local/bin

接下来启动Storage服务:(##并加入到开机自启动项)

service fdfs_storaged start

20170809175614
见到如图所示的结果表示启动成功。

1.7修改启动脚本:

cd /etc/fdfs/
ls -l /etc/init.d/fdfs*
whereis fdfs_trackerd
fdfs_trackerd: /usr/bin/fdfs_trackerd
sed -i 's#/usr/local/bin#/usr/bin#g'  /etc/init.d/fdfs_storaged
sed -i 's#/usr/local/bin#/usr/bin#g'  /etc/init.d/fdfs_trackerd