分布式文件系统可以解决以下四大问题:
1、代码服务器存储被快速占满; 2、分布式系统无法读取文件问题; 3、文件共享和备份; 4、文件统一管理等。
当然目前的分布式文件系统工具比较多(比如:mogileFS,fastDFS,mooseFS,glusterFS,ceph,lustre,NFS等),本文主要介绍如何安装与使用FastDFS分布式文件系统,有兴趣的小伙伴可以研究以下其他工具。。。
安装软件全家桶可以到这里下载:FastDFS_Nginx软件安装全家桶.rar-Linux工具类资源-CSDN下载
Fast文件系统主要由跟踪服务器(Tracker Server),存储服务器(Storage Server)和客户端(Client)三部分组成
注:安装的时候可能会因为一些类似perl,gcc等工具未安装报错 ./make.sh: line 184: perl: command not found。请自行安装相关工具,然后继续下一步。。。
1、下载:libfastcommon下载;
2、上传下载的zip包到安装服务器;
3、解压并安装;
## 解压代码包
unzip libfastcommon-master.zip
## 进入解压目录
cd libfastcommon-master
##编译
./make.sh
## 安装
./make.sh install
1、下载:FastDFS下载(下载你想要的版本,我用的最新的);
2、上传下载的tar包到安装服务器;
3、解压并安装(tar包的解压方式与zip包不一样);
## 解压代码包
tar zxvf FastDFS_v5.08.tar.gz
## 进入解压目录
cd FastDFS
##编译
./make.sh
## 安装
./make.sh install
注意:配置的base_path地址不存在时需要手动创建,否则会报错
##进入配置文件目录
cd /etc/fdfs/
##修改配置文件名
mv tracker.conf.sample tracker.conf
##修改配置文件
vi tracker.conf
##修改base_path(数据和日志地址)地址:例如 base_path=/opt/fastdfs
##启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf
##查看启动结果
netstat -unltp|grep fdfs
##设置开机自启动
vim /etc/rc.local
## 添加命令fdfs_trackerd /etc/fdfs/tracker.conf 到rc.local文件中
注意:配置的base_path地址不存在时需要手动创建,否则会报错; Tracker Server地址必须配置
##进入配置文件目录
cd /etc/fdfs/
##修改配置文件名
mv storage.conf.sample storage.conf
##修改配置文件
vi storage.conf
##修改base_path(日志和数据地址)地址:例如 base_path=/opt/fastdfs
##tracker_server=127.0.0.1:22122
##group_name=group1用于配置集群
##启动storage
fdfs_storaged /etc/fdfs/storage.conf
##查看启动结果
netstat -unltp|grep fdfs
##设置开机自启动
vim /etc/rc.local
## 添加命令fdfs_storaged /etc/fdfs/storage.conf 到rc.local文件中
启动完成时候使用 fdfs_monitor /etc/fdfs/storage.conf 命令查看存储服务器集群详情,查看是否已经注册到Tracker Server上:
vi /etc/fdfs/client.conf
## tracker_server=127.0.0.1:22122
## http.tracker_server_port=80
## base_path=/home/fastdfs
至此,FastDFS安装完成。。。
测试:
fdfs_test /etc/fdfs/client.conf upload /opt/aaaa.txt
上传成功!!!!
注意:上面的安装好之后就已经实现了分布式文件服务器的功能,下面的第三章只是为了更加方便的用浏览器可以查看上传的文件。
安装一些编译代码所需要的软件
yum install -y gcc(安装libfastcommon时已经安装过)
yum install -y gcc-c++(安装libfastcommon时已经安装过)
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
## 下载 fastdfs-nginx-module与Nginx
## 网上搜下fastdfs-nginx-module_v1.16.tar.gz, 一大把。 完了上传到服务器
wget http://nginx.org/download/nginx-1.10.1.tar.gz
## 解压 fastdfs-nginx-module与Nginx
tar zxvf fastdfs-nginx-module_v1.16.tar.gz
tar zxvf nginx-1.10.1.tar.gz
vi /opt/practice/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf
## base_path=/home/fastdfs
## tracker_server=127.0.0.1:22122
## store_path0=/home/fastdfs
## storage_server_port=23001
vi /opt/practice/fastdfs/fastdfs-nginx-module/src/config
## CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
## 进入Nginx目录
cd nginx-1.10.1
## 为Nginx添加fastdfs模块
./configure --prefix=/usr/local/nginx --add-module=/opt/practice/fastdfs/fastdfs-nginx-module/src/
添加成功标志:
cd nginx-1.10.1
make && make install
编译成功标识:
查看安装结果
/usr/local/nginx/sbin/nginx -V
fastdfs-nginx-module 安装成功。。
vi /usr/local/nginx/conf/nginx.conf
添加:
location /group1/M00 {
root /home/fastdfs/data;
ngx_fastdfs_module;
}
## 拷贝FastDFS的配置文件
cd /opt/practice/fastdfs/FastDFS/conf/
scp anti-steal.jpg http.conf mime.types /etc/fdfs/
## 拷贝fastdfs-nginx-module的配置文件
scp /opt/practice/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
## 建立软连接
ln -s /home/fastdfs/data /home/fastdfs/data/M00
## 启动Nginx
/usr/local/nginx/sbin/nginx
## 关闭防火墙(开放80端口也行)
service iptables stop
启动成功:
fdfs_test /etc/fdfs/client.conf upload /opt/test.jpg
查看上传结果:
OK,大功告成!!!!