fastdfs是用c语言编写的一款开源的分布式文件系统,有多种原因的客户端(包括有Java的客户端)。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
fastdfs架构包括Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storageserver没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。可以将storage称为存储服务器。
1.准备如下tar包
libfastcommon-1.0.43.tar.gz
fastdfs-6.06.tar.gz
nginx-1.18.0.tar.gz
fastdfs-nginx-module-1.22.tar.gz
2.libfastcommon的安装
# tar -zxvf libfastcommon-1.0.43.tar.gz //解压
# cd libfastcommon-1.0.43 // 进入解压目录
# ./make.sh//预编译
# ./make.sh install//安装
3.Fastdfs的安装
# tar -zxvf fastdfs-6.06.tar.gz//解压
# cd /root/download/fastdfs-6.06// 进入解压目录
# ./make.sh
&& ./make.sh install
# ./make.sh && ./make.sh install
4.Fastdfs的配置
FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。
Tracker Server
# cp /etc/fdfs/tracker.conf.sample tracker.conf
vim tracker.conf
base_path = /opt/fastdfs/tracker
注意:保证/opt/fastdfs/tracker已经存在,否则启动失败。
# service fdfs_trackerd start //启动
# chkconfig fdfs_trackerd on //设置开机启动
Storage Server
# cp /etc/fdfs/storage.conf.sample storage.conf
vim storage.conf
base_path = /opt/fastdfs/storage 第50行
store_path0 = /opt/fastdfs/storage0 第130行
tracker_server = 192.168.0.114:22122 第147行
注意:
保证/opt/fastdfs/storage和/opt/fastdfs/storage0已经存在,否则启动失败。
192.168.10.27为内网IP,若要外网调试,可以使用外网IP。
# service fdfs_storaged start//启动
chkconfig fdfs_storaged on//设置开机启动
查看Storage和Tracker是否在通信:
在/usr/bin/目录下执行/fdfs_monitor /etc/fdfs/storage.conf
5.Nginx的安装(与fastdfs-nginx-module模块整合)
# tar -zxvf nginx-1.18.0.tar.gz
# tar -zxvf fastdfs-nginx-module-1.22.tar.gz
[root@hadoop2 home]# mv nginx-1.18.0 nginx
[root@hadoop2 home]# cd nginx/
[root@hadoop2 nginx]# ./configure –add-module=../fastdfs-nginx-module-1.22/src
# make && make install
6.配置
# cp fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
# vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.0.114:22122 第41行
url_have_group_name = true 第54行false改成true
store_path0=/fastdfs/storage 第63行修改路径
# cd fastdfs-6.06/conf/ //进入fastdfd源码conf目录
# cp http.conf mime.types /etc/fdfs/ //将http.conf,mime.types两个文件拷贝到/etc/fdfs/目录下
# vi /usr/local/nginx/conf/nginx.conf
server {
listen80;
server_namelocalhost;
location ~/group([0-9])/M00 {
root/opt/fastdfs/storage0/data;
ngx_fastdfs_module;
}
}
走过的路成为背后的风景,不能回头不能停留,若此刻停留,