Centos 搭建 FastFDS 分布式文件存储系统
FastFDS:是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
前期准备
libfastcommon-master.zip
FastDFS_v5.05.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.8.0.tar.gz
开始
一.安装 libfastcommon-master.zip
1.解压 libfastcommon-master.ziptar -zxvf libfastcommon-master.zip
2.进入解压后的文件,执行./make.sh && ./make.sh install
(ps可能需要安装gccyum -y install gcc-c++ )
3.创建软引用
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
二.安装 FastFDS
1.解压 FastDFS_v5.05.tar.gztar -zxvf FastDFS_v5.05.tar.gz
2.进入解压后的文件并执行./make.sh&&./make.sh install
文章图片
安装成功可以看到以上信息进入etc/fdfs可以看到很多配置文件 分别copy 一份
cp client.conf.sample client.conf客户端配置文件 cp storage.conf.sample storage.conf存储服务器配置文件
cp tracker.conf.sample tracker.conf跟踪服务器配置文件
三.配置跟踪服务器 Tracker
1.在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等mkdir/export/fastdfs/tracker
2.进入 tracker.confvitracker.cof
3. 修改以一下内容
- disabled=false #启用配置文件(默认启用)
- port=22122 #设置tracker的端口号,通常采用22122这个默认端口
- base_path=/export/fastdfs/tracker #设置tracker的数据文件和日志目录
4.创建软引用
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
5.启动跟踪服务器
service fdfs_trackerd start
文章图片
启动成功
四.配置存储服务器 Storage
1.创建Storage服务器的文件目录和日志的存储路径mkdir/export/fastdfs/storage
2.进入 storage.confvi storage.conf
3.修改一下内容
- disabled=false #启用配置文件(默认启用)
- group_name=group1 #组名,根据实际情况修改
- port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
- base_path=/export/fastdfs/storage #设置storage数据文件和日志目录
- store_path_count=1 #存储路径个数,需要和store_path个数匹配
- store_path0=/export/fastdfs/storage #实际文件存储路径
- tracker_server=192.168.111.11:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
- http.server_port=8888 #设置 http 端口号
ln -s /usr/bin/fdfs_storaged /usr/local/bin
5.启动 Storage服务
service fdfs_storaged start
文章图片
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
StorageACTIVE说明 storage服务器已经登记到 tracker服务器上
五.配置Client 客户端服务器
1.进入 client.confviclient.conf
2.修改一下内容
- base_path=/export/fastdfs/tracker #tracker服务器文件路径
- tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
/usr/bin/fdfs_upload_file/etc/fdfs/client.conf/opt/BLIZZARD.jpg
文章图片
这就表示我们的文件已经上传成功了,当文件存储到某个子目录后,即认为该文件存储成功,接下来会为该文件生成一个文件名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成,如下图:
文章图片
但此时我们无法通过浏览器访问图片,因为fastFDS 已经不支持 http协议,所以我们要搭建nginx 反向代理
六.安装配置 nginx
1.解压 nginx-1.8.0.tar.gztar -zxvfnginx-1.8.0.tar.gz
2.解压 fastdfs-nginx-module_v1.16.tar.gztar -zxvf fastdfs-nginx-module_v1.16.tar.gz
(ps:进入解压后的文件viINSTALL可看到对FastDFS 版本的要求。)
3.进入cdfastdfs-nginx-module/src
编辑 configviconfig
删除这两个local
4.编译安装nginx
./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module/src
5. 执行 make && make install 6.安装成功后,进入/usr/local/nginxconf编辑nginx.conf文件vinginx.conf
修改一下内容
listen80;
location ~/group1/M00 {
root /opt/fastdfs_storage_data/data;
ngx_fastdfs_module;
}
7.进入 FastDFS 的目录下
cp -r ./conf/http.conf /etc/fdfs/
cp -r ./conf/mime.types /etc/fdfs/
8.进入 fastdfs-nginx-module目录下
cp -r ./src/mod_fastdfs.conf /etc/fdfs/
9.进入 etc/fdfs编辑mod_fastdfs.confvimod_fastdfs.conf
10.修改一下内容
- base_path=/export/fastdfs/storage #保存日志目录
- tracker_server=192.168.111.11:22122 #tracker服务器的IP地址以及端口号
- storage_server_port=23000 #storage服务器的端口号
- url_have_group_name = true #文件 url 中是否有 group 名
- store_path0=/export/fastdfs/storage # 存储路径
- group_count = 1 #设置组的个数,事实上这次只使用了group1
/usr/local/nginx/sbin/nginx
至此,fastFDS 就配置完成了
感谢淘宝资深架构师余庆大神开源了如此优秀的轻量级分布式文件系统。大家可以到大神的git上下载资源
https://github.com/happyfish100/fastdfs/releases
资源下载:https://download.csdn.net/download/linlitterwhite/10310117
感谢这位博客
https://www.linuxidc.com/Linux/2016-09/135537.htm
【Centos 搭建 FastFDS 分布式文件存储系统】
推荐阅读
- 六步搭建ES6语法环境
- (1)redis集群原理及搭建与使用(1)
- 桁架搭建有什么价值()
- VM|VM ware 的 harbor 私有仓库搭建 (Ubuntu16.04)
- PHP开发-Mac搭建ThinkPHP5.0
- CentOS7 阿里云镜像配置方法
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- sentry搭建错误监控系统(二)
- 【乐高创意作品】超智能!这款乐高搭建的除草机!
- 8、Flask构建弹幕微电影网站-搭建后台页面-密码修改、主页控制面板