介绍
1.FastDFS
FastDFS是一款开源的轻量级分布式文件系统纯C实现,支持Linux、FreeBSD等UNIX系统类google FS,不是通用的文件系统,只能通过专有API访问,目前提供了C、Java和PHP API为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高扩展性FastDFS可以看做是基于文件的key value pair存储系统,称作分布式文件存储服务更为合适。
2.tracker-server
跟踪服务器, 主要做调度工作, 起负载均衡的作用。 在内存中记录集群中所有存储组和存储服务器的状态信息, 是客户端和数据服务器交互的枢纽。 相比GFS中的master更为精简, 不记录文件索引信息, 占用的内存量很少。
3.storage-server
存储服务器( 又称:存储节点或数据服务器) , 文件和文件属性( metadata) 都保存到存储服务器上。 Storage server直接利用OS的文件系统调用管理文件。
安装
我采用的是windows下载完tar安装包通过传输工具(如WinSCP)传输到虚拟机/服务器的方式。
要安装如下四个工具
fastdfs 下载地址:https://github.com/happyfish100/fastdfs/releases
nginx 下载地址: http://nginx.org/download/nginx-1.12.0.tar.gz
fastdfs-nginx-module 下载地址:https://github.com/happyfish100/fastdfs-nginx-module/releases
libfastcommon 下载地址:https://github.com/happyfish100/libfastcommon/releases
1.安装libevent事件通知函数库
yum -y install libevent
2.libfastcommon的安装
进入安装包所在目录,解压libfastcommon
tar -zxvf libfastcommon-1.0.36.tar.gz
进入解压生成的文件夹,查看文件夹内容
编译
./make.sh
安装
./make.sh install
系统默认安装到 /usr/lib64下,将其拷贝到 /usr/lib下
cd /usr/lib64
ll libfast*
cp libfastcommon.so /usr/lib
2.FastDFS的安装
进入到tar包所在目录,解压
tar -zxvf fastdfs-5.11.tar.gz
仍然是进入,编译,安装
./make.sh
./make.sh install
默认会安装在 /usr/bin目录下,进入查看
ll fdfs*
另外还有一部分配置文件放入 /etc/fdfs
3.配置文件的集中放置
将其他的配置文件拷贝至 /etc/fdfs 目录下
首先进入解压的 fastdfs-5.05/conf ,里边有如下配置文件
拷贝所有到 /etc/fdfs
cp * /etc/fdfs/
4.配置tracker storage client服务
修改tracker.conf 配置文件,修改base_path--日志文件存放路径和文件保存路径(vim的使用要了解一下)
vim tracker.conf
修改storage.conf 配置文件,修改日志文件base_path的存放路径
vim storage.conf
修改group_name,作为访问fastdfs文件时的前缀,所有文件前边必须添加该名字
修改store_path0,文件的保存路径
修改tracker_server,tracker服务器地址,即本虚拟机ip地址
修改 client.conf 配置文件的bash_path
修改tracker_server
分别在fastdfs下创建 tracker client storage日志保存目录
cd /fastdfs
mkdir tracker
mkdir storage
mkdir client
5.启动tracker和storage服务
进入 /usr/bin目录,查看fdfs的服务
ll fdfs*
服务的启动都是 服务名+配置文件名的形式
首先启动fdfs_trackerd服务
fdfs_trackerd /etc/fdfs/tracker.conf
启动fdfs_storage服务
fdfs_storaged /etc/fdfs/storage.conf
查看进程是否有响应进程
ps aux|grep storage
ps aux|grep tracker
简单测试
首先使用传输工具向虚拟机传一张图片
使用 client路径 client.conf路径 upload 图片路径 上传一张图片
/usr/bin/fdfs_test /etc/fdfs/client.conf upload logo.png
其中指定了url的访问路径
现在去文件里查看是否存在
图片默认保存在 /fastdfs/storage/data/00/00中(storage.conf配置的base_path是存放路径,00/00在上边可以看出)
但现在通过url http://10.25.116.201/imooc/M00/00/00/Chl0yV1LwbGAYrYNAAKj0r4Ii1Y504.png 并不能访问,因为没有配置nginx
下一节配置nginx