FastDFS服务器集群部署和集成客户端到SpringBoot
标签:
SpringBoot
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,同时也能做到在集群环境下一台机子上传文件,同时该组下的其他节点下也备份了上传的文件。做分布式系统开发时,其中要解决的一个问题就是图片、音视频、文件共享的问题和数据备份,分布式文件系统正好可以解决这个需求。FastDFS的服务主要有两个角色Tracker和Storage,Tracker服务用于负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽,Storage用于保存文件
FastDFS集群部署
解压、安装
unzip fastdfs-master.zipcd fastdfs-master ./make.sh && ./make.sh install #编译安装cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用
解压、安装
unzip libfastcommon-master.zipcd libfastcommon-master ./make.sh && ./make.sh install #编译安装
名称 描述 centos系统版本 6.9 libfatscommon FastDFS分离出的一些公用函数包 FastDFS FastDFS主程序 fastdfs-nginx-module FastDFS和nginx的关联模块 nginx nginx1.15.5 安装编译环境
磁盘安装路径说明
说明 位置 FastDFS所以安装包安装位置 /usr/local/src tracker数据 /data/fdfs/tracker Storage数据 /data/fdfs/Storage 配置文件路径 /etc/fdfs
整体部署模块图
FastDFS部署示意图.png
环境准备
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
安装libfatscommon
安装FastDFS
etc目录下fdfs目录.png
安装fastdfs-nginx-module
解压、安装
unzip fastdfs-nginx-module-master.zipcp /usr/local/src/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs #复制配置文件到fdfs目录
安装nginx
解压、安装
tar -zxvf nginx-1.15.5.tar.gzcd nginx-1.15.5#添加fastdfs-nginx-module模块./configure --add-module=/usr/local/src/fastdfs-nginx-module-master/src/ make && make install #编译安装
FastDFS集群部署配置
#服务器ip为 xxx.xxx.78.12, xxx.xxx.78.13vim /etc/fdfs/tracker.conf#需要修改的内容如下port=22122 # tracker服务器端口(默认22122,一般不修改)base_path=/data/fdfs/tracker #存储日志和数据的根目录
tracker配置.png
tracker配置
Storage配置
``` vim /etc/fdfs/storage.conf #需要修改的内容如下 port=23000 # storage服务端口(默认23000,一般不修改) base_path=/data/fdfs/storage # 数据和日志文件存储根目录 store_path0=/data/fdfs/storage # 第一个存储目录 tracker_server=xxx.xxx.78.12:22122 # 服务器1 tracker_server=xxx.xxx.78.13:22122 # 服务器2 http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致) ``` - client配置 ``` vim /etc/fdfs/client.conf #需要修改的内容如下 base_path=/home/moe/dfs tracker_server=xxx.xxx.78.12:22122 # 服务器1 tracker_server=xxx.xxx.78.13:22122 # 服务器2 ``` - 配置nginx访问 ``` vim /etc/fdfs/mod_fastdfs.conf #需要修改的内容如下 tracker_server=xxx.xxx.78.12:22122 # 服务器1 tracker_server=xxx.xxx.78.13:22122 # 服务器2 url_have_group_name=true store_path0=/data/fdfs/storage #配置nginx.config vim /usr/local/nginx/conf/nginx.conf #添加如下配置 server { listen 8888; ## 该端口为storage.conf中的http.server_port相同 server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } ...... ...... error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } ```
启动服务、测试
启动之前我们还需要在防火墙开通端口 vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT service iptables restart #重启防火墙
防火墙端口.png
每个服务的启动、关闭和重启操作
#tracker/etc/init.d/fdfs_trackerd start #启动tracker服务/etc/init.d/fdfs_trackerd restart #重启动tracker服务/etc/init.d/fdfs_trackerd stop #停止tracker服务chkconfig fdfs_trackerd on #自启动tracker服务#storage/etc/init.d/fdfs_storaged start #启动storage服务/etc/init.d/fdfs_storaged restart #重动storage服务/etc/init.d/fdfs_storaged stop #停止动storage服务chkconfig fdfs_storaged on #自启动storage服务#nginx/usr/local/nginx/sbin/nginx #启动nginx/usr/local/nginx/sbin/nginx -s reload #重启nginx/usr/local/nginx/sbin/nginx -s stop #停止nginx```![检测集群1.png](https://upload-images.jianshu.io/upload_images/2174557-566537008c57d1e4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ![查看运行的服务.png](https://upload-images.jianshu.io/upload_images/2174557-e12afac6ca295a2c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
作者:maoqitian
链接:https://www.jianshu.com/p/cdccd2beca63
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦