什么是FastDFS
FastDFS是一个叫余庆的哥们用c语言编写的一款开源的分布式文件系统
功能有冗余备份、负载均衡、线性扩容等,高可用、高性能
可以用FastDFS搭建一套高性能的文件服务器集群提供文件上传、下载
fastDFS又区别于Hadoop的HDFS,前者用于上传下载文件或者图片
后者用于解决大数据分析,提供解决方案(当然也能用来存储文件)
![](https://i-blog.csdnimg.cn/blog_migrate/9207a094000eacdbca672da3149c00f2.png)
图中tracker就相当于仓库管理员,负责管理storage中的文件,
storage中每个组又有一些文件服务器,这些都是平级的,没有主从关系,不像redis,也不像MySQL
storage有心跳机制,每隔一段时间向tracker发送自己的状态等信息,心跳时间可以配置
那接下来演示一下单独在一台linux上的安装,只有一个Tracker、一个Storage服务
(生产环境都会使用集群,tracker和storage分别部署在不同的服务器,阿里巴巴就是一个庞大的集群)
首先你得有一台安装好linux的vm
![](https://i-blog.csdnimg.cn/blog_migrate/989a3c1f775f0709f1d1ebd96bdead41.png)
上传至服务器
一、配置基本环境
1. 安装nginx所需要的依赖包(
参考这里)
2. 安装libevent工具包
yum -y install libevent
3. 安装libfastcommonV1.0.7工具包
![](https://i-blog.csdnimg.cn/blog_migrate/8ca629f2a2171cdf0cef4e6e24bfdbcc.png)
4. 进入libfastcommonV1.0.7文件夹中,看到有make.sh
![](https://i-blog.csdnimg.cn/blog_migrate/bfe13d6238c3ddedfaa256b4239a0961.png)
然后
./make.sh
./make.sh install
二、安装Tracker服务
1. 解压缩
![](https://i-blog.csdnimg.cn/blog_migrate/ed7176b537f4f67ff23a581982376bda.png)
2. ./make.sh
![](https://i-blog.csdnimg.cn/blog_migrate/6b5a82b3675fdb0db7ee4150467ee13e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c4d410a298d4e15e3b6d2bea1ef9aec2.png)
3. ./make.sh install
安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。
![](https://i-blog.csdnimg.cn/blog_migrate/27283c545ab5a562cb91fbcd2a691e96.png)
配置文件都放到/etc/fdfs文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/4f6490976f26f759de279992252764fe.png)
4. 把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下
![](https://i-blog.csdnimg.cn/blog_migrate/0db1ca0fafca8b757efdce2c3c3d2128.png)
三、配置tracker服务
修改/etc/fdfs/tracker.conf文件
![](https://i-blog.csdnimg.cn/blog_migrate/86bab3ee8775eacecd680b112ef5df74.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f79461ae1dbd5b99fe44f43609c99142.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df7463d8d06821bd9de3f6fe15144812.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5e122eabcd519bf2f92d77ca98807089.png)
启动tracker
![](https://i-blog.csdnimg.cn/blog_migrate/8711e1da5a1d64accf623e40037083de.png)
四、安装storage服务。
1、如果是在不同的服务器安装,第四步的1~4需要重新配置
2、配置storage服务
修改/etc/fdfs/storage.conf
![](https://i-blog.csdnimg.cn/blog_migrate/dce41d7a61c6545300ff3c51bd652b2e.png)
修改为
![](https://i-blog.csdnimg.cn/blog_migrate/a03a62da628278066d6a8c080c8f4740.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b8e362de7f39120dd73648ae8e99cc96.png)
2. 实际的图片存放路径
![](https://i-blog.csdnimg.cn/blog_migrate/4d20b598033139004cdc1f1ec5e4cb82.png)
修改为
![](https://i-blog.csdnimg.cn/blog_migrate/d1c95fd1a352b13f5017ea2520d746e5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ae3839cea61cc9beafcd1ea2e1054596.png)
实际图片存放路径
![](https://i-blog.csdnimg.cn/blog_migrate/b01c845c3bd787ccda259a95b9b42768.png)
3. 启动storage服务
![](https://i-blog.csdnimg.cn/blog_migrate/4ff4843d4ce44f55a5301f5084dc0a9d.png)
测试服务,是否成功
修改配置文件/etc/fdfs/client.conf
![](https://i-blog.csdnimg.cn/blog_migrate/ca69bc0f8eb570dbc796f487e98854c3.png)
五、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
![](https://i-blog.csdnimg.cn/blog_migrate/18ae9e157c04b5c28e596a062209f89a.png)
好了图片成功上传,但是此时访问这个地址是不能的,因为木有http服务器呀~ 安装了nginx就能访问了
这个点了。。。累了困了就喝。。。矮油卧槽
![](https://i-blog.csdnimg.cn/blog_migrate/1492a80ae4ad315fd80c15265237cf80.png)
好了,洗洗睡了,我的心愿是。。。世界和平~