FastDFS是一个开源的轻量级的分布式文件系统,为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务,如果自己搭建文件系统FastDFS是首选!
架构图
FastDFS 系统有三部分组成:
-
跟踪服务器(Tracker Server):
跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
-
存储服务器(Storage Server):
存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
-
客户端(Client):
客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。
准备安装包
-
fastdfs-5.11.tar.gz
-
fastdfs-nginx-module-master.zip
-
libfastcommon-1.0.36.tar.gz
-
nginx-1.8.1.tar.gz
安装libfastcommon
-
tar -zxvf libfastcommon-1.0.36.tar.gz
-
cd libfastcommon-1.0.3
-
./make.sh
-
./make.sh install
安装FastDFS
-
tar fastdfs-5.11.tar.gz
-
cd fastdfs-5.1
-
./make.sh
-
./make.sh install
FastDFS配置
-
创建两个目录用来存放数据
>mkdir -p /data/fdfs-tracker
>mkdir -p /data/fdfs-storage
-
复制配置文件
>cd /etc/fdfs
>cp storage.conf.sample storage.conf
>cp tracker.conf.sample tracker.conf
-
修改fdfs-tracker.conf配置文件
base_path=/data/fdfs-tracker
-
修改fdfs-storage.conf配置文件
base_path=/data/fdfs-storage/base
启动服务
-
service fdfs_trackerd start
-
service fdfs_storaged start
-
ps -ef|grep fdfs:
测试
-
配置client文件
>cd /etc/fdfs
>cp client.conf.sample client.conf
>vim client.conf
-
上传测试:
>fdfs_upload_file /etc/fdfs/client.conf 1.txt
-
下载测试:
>Fdfs_download_file /etc/fdfs/client.conf
group1/M00/00/00/wKhAgFqhWoSAJRKlAAAAGncY82Q560.txt
安装Nginx
文件上传成功后无法通过http访问。安装nginx来支持http的访问。
-
tar nginx-1.8.1.tar.gz
-
cd nginx-1.8.1
-
./configure
-
make
-
make install
-
会在/usr/local/下生成nginx安装文件夹
修改nginx下conf文件里的nginx.conf配置文件
添加如下内容:
-
常用指令:
./nginx -s stop #立即停止服务
./nginx -s quit #有序停止服务
./nginx -s reload #从载配置文件
-
启动nginx:
>cd sbin
>./nginx -c conf/nginx
-
访问测试: