什么是FastDFS
FastDFS是一个叫余庆的哥们用c语言编写的一款开源的分布式文件系统
功能有冗余备份、负载均衡、线性扩容等,高可用、高性能
可以用FastDFS搭建一套高性能的文件服务器集群提供文件上传、下载
fastDFS又区别于Hadoop的HDFS,前者用于上传下载文件或者图片
后者用于解决大数据分析,提供解决方案(当然也能用来存储文件)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419001656476-7859838.png)
图中tracker就相当于仓库管理员,负责管理storage中的文件,
storage中每个组又有一些文件服务器,这些都是平级的,没有主从关系,不像redis,也不像MySQL
storage有心跳机制,每隔一段时间向tracker发送自己的状态等信息,心跳时间可以配置
那接下来演示一下单独在一台linux上的安装,只有一个Tracker、一个Storage服务
(生产环境都会使用集群,tracker和storage分别部署在不同的服务器,阿里巴巴就是一个庞大的集群)
首先你得有一台安装好linux的vm
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002302226-348514163.png)
上传至服务器
一、配置基本环境
1. 安装nginx所需要的依赖包(参考这里)
2. 安装libevent工具包
yum -y install libevent
3. 安装libfastcommonV1.0.7工具包
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002539116-2027363995.png)
4. 进入libfastcommonV1.0.7文件夹中,看到有make.sh
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002606741-1539630645.png)
然后
./make.sh
./make.sh install
二、安装Tracker服务
1. 解压缩
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002721335-2146476651.png)
2. ./make.sh
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002751148-204218524.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002805351-2045619541.png)
3. ./make.sh install
安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002844585-1996344972.png)
配置文件都放到/etc/fdfs文件夹
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002905382-1000171907.png)
4. 把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002929616-1474523185.png)
三、配置tracker服务
修改/etc/fdfs/tracker.conf文件
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419002952663-1792921945.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003014413-1508962302.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003021616-1172221511.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003025038-467823821.png)
启动tracker
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003050007-99157775.png)
四、安装storage服务。
1、如果是在不同的服务器安装,第四步的1~4需要重新配置
2、配置storage服务
修改/etc/fdfs/storage.conf
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003148507-217807625.png)
修改为
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003156273-1313617777.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003202554-782069696.png)
2. 实际的图片存放路径
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003248554-106685963.png)
修改为
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003256132-31132266.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003301866-783920417.png)
实际图片存放路径
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003314320-1066854675.png)
3. 启动storage服务
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003337085-1773412369.png)
测试服务,是否成功
修改配置文件/etc/fdfs/client.conf
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003424648-1636873295.png)
五、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003433226-952276997.png)
好了图片成功上传,但是此时访问这个地址是不能的,因为木有http服务器呀~ 安装了nginx就能访问了
这个点了。。。累了困了就喝。。。矮油卧槽 ![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003812023-1633700685.png)
![](https://images2015.cnblogs.com/blog/841496/201604/841496-20160419003812023-1633700685.png)
好了,洗洗睡了,我的心愿是。。。世界和平~