介绍
FastDFS是一个开源的分布式文件系统,她对文件进行治理,性能包含:文件存储、文件同步、文件拜访(文件上传、文件下载)等,解决了大容量存储和负载平衡的问题。特地适宜以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器次要做调度工作,在拜访上起负载平衡的作用。
指标
- 在CentOS7中搭建FastDFS分布式文件系统;
- FastDFS+ Nginx + fastdfs-nginx-module整合;
- 对FastDFS文件治理(上传、下载、预览、删除);
剖析
- 装置依赖包;
- 装置FastDFS;
- 整合Nginx与fastdfs-nginx-module;
- 测试。
环境
- CentOS7
- FastDFS_v5.08.tar.gz
- nginx-1.19.10.tar.gz
- libfastcommon-master.zip
依赖装置
- 要装置 gcc
yum install gcc-c++
- 装置 libevent
yum -y install libevent
- 装置 libevent
yum -y install libevent
装置 libfastcommon 或 libfastcommon-master
tar -zxvf libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
这里抉择libfastcommon-master.zip因为libfastcommon配置后FastDFS编译不胜利;
libfastcommon 是 FastDFS 官网提供的,libfastcommon 蕴含了 FastDFS 运行所须要的一些根底库。
装置FastDFS
- 解压安装包
tar -zxvf FastDFS_v5.08.tar.gz
- 进入目录
cd FastDFS
- 编译
./make.sh
- 装置
./make.sh install
- 查看装置地位
ls -la /usr/bin/fdfs*
配置Tracker服务
- 进入/etc/fdfs目录,看到几个文件 没有到/mysoft/FastDFS/conf文件拷贝过去;
- 拷贝tracker.conf.sample,改tracker.conf;
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
编辑tracker.conf 批改相干参数
vi /etc/fdfs/tracker.conf
#tracker存储data和log的跟门路,必须提前创立好 base_path=/home/fastdfs/tracker port=22122 #tracker默认22122 http.server_port=80 #http端口,须要和nginx雷同
- 启动tracker(反对start|stop|restart)
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start|stop|restart
或/etc/init.d/fdfs_trackerd start|stop|restart
- 查看端口状况:netstat -apn|grep fdfs
netstat -apn|grep fdfs
配置Storage服务
- 进入/etc/fdfs目录,看到几个文件 没有到/mysoft/FastDFS/conf文件拷贝过去;
- 拷贝storage.conf.sample,改storage.conf;
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
编辑storage.conf 批改相干参数
vi /etc/fdfs/storage.conf
#storage存储data和log的跟门路,必须提前创立好 base_path=/home/fastdfs/storage port=23000 #storge默认23000,同一个组的storage端口号必须统一group_name=group1 #默认组名,依据理论状况批改store_path_count=1 #存储门路个数,须要和store_path个数匹配store_path0=/home/fastdfs/storage #如果为空,则应用base_pathtracker_server=192.168.157.130:22122 #配置该storage监听的tracker的ip和port
- 启动storage(反对start|stop|restart)
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start|stop|restart
或/etc/init.d/fdfs_storaged start|stop|restart
- 查看端口状况:netstat -apn|grep fdfs
netstat -apn|grep fdfs
- 通过monitor来查看storage是否胜利绑定:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
装置Nginx和fastdfs-nginx-module模块
- 解压nginx安装包
tar -zxvf nginx-1.19.10.tar.gz
- 解压fastdfs-nginx-module组件
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
- 进入目录
cd nginx-1.19.10
- 配置,并加载fastdfs-nginx-module模块:
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src
- 编译
./make.sh
- 装置
./make.sh install
- 查看装置门路
whereis nginx
- Nginx 加载配置 重启服务
systemctl status nginx.service (查看服务以后状态)
systemctl start nginx.service (启动nginx服务)
systemctl stop nginx.service (进行nginx服务)
systemctl restart nginx.service (重新启动服务)
systemctl reload nginx.service (从新加载配置)
- 查看此时的nginx版本:发现fastdfs模块曾经装置好了
`/usr/local/nginx/sbin/
配置Nginx和fastdfs-nginx-module模块
- 拷贝fastdfs-ngin-module中的mod-fastdfs.conf配置文件,到/etc/fdfs目录中
cd /usr/local/fastdfs/fastdfs-nginx-module/src
cp /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
进入/etc/fdfs批改mod-fastdfs.conf
vi /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs/tracker_server=192.168.157.130:22122 #tracker的地址url_have_group_name=true #url是否蕴含group名称storage_server_port=23000 #须要和storage配置的雷同store_path_count=1 #存储门路个数,须要和store_path个数匹配store_path0=/home/fastdfs/storage #文件存储的地位
配置nginx,80端口server减少location如图:
vi /usr/local/nginx/conf/nginx.conf
#fastdfs infolocation ~/group[0-9]/M00/ { ngx_fastdfs_module;}
FastDFS 测试客户端配置
- 进入/etc/fdfs目录,拷贝client.conf.sample,改client.conf;
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
编辑client.conf 批改相干参数
vi /etc/fdfs/client.conf
base_path=/home/fastdfs/tracker #tracker服务器文件门路tracker_server=192.168.157.130:22122 #tracker服务器IP地址和端口号# tracker服务器的http端口号,必须和tracker的设置对应起来http.tracker_server_port=80
FastDFS 操作测试
- 上传文件
[root@localhost fdfs]# fdfs_upload_file /etc/fdfs/client.conf /mysoft/1.png
- 预览文件
http://192.168.157.130/group1... - 下载文件
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKidgmCz52eAdFyBAALBD5a98zs974.png /mysoft/dow_2.png
- 删除文件
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKidgmCz52eAdFyBAALBD5a98zs974.png