FastDFS文件系统安装以及配置

FastDFS是什么?

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。


FastDFS如何安装

0.准备
  • 编译和安装所需的依赖包
  yum install make cmake gcc gcc-c++
  • 关闭防火墙(CentOS7为例)
    CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
1.下载安装libfastcommon
  • 下载安装
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install
  • 建立软链接

因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib, 所以需要创建软链接.

 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
2.下载安装fastdfs
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
tar -zxvf V5.05.tar.gz
cd V5.05
./make.sh
./make.sh install

执行安装后,默认会安装到/usr/bin中,并在/etc/fdfs中添加三个样例配置文件。
配置文件在(样例配置文件)

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

至此安装完成,下面是配置工作 。

FastDFS配置

  • 配置tracker服务器

先创建一个文件夹,作为tracker服务器的base_path后面配置使用。

mkdir -p /solumon/fdfs/tracker

复制tracker样例配置文件,并重命名

cp tracker.conf.sample tracker.conf
vim /etc/fdfs/tracker.conf
#重点配置以下3个配置:
port=22122 #默认端口号 
base_path=/solumon/fdfs/tracker #刚刚创建的目录 
http.server_port=6666 #默认端口是8080
#其它参数保留默认配置, 具体配置解释可参考官方文档说明:http://bbs.chinaunix.net/thread-1941456-1-1.html
#保存退出
  • 启动tracker服务器
service fdfs_trackerd start 
或
systemctl start fdfs_trackerd

进行刚刚创建的/solumon/fdfs/tracker目录,发现目录中多了data和log两个目录,说明配置成功

  • 给tracker加入开机启动
#授权
chmod +x /etc/rc.d/rc.local
#编辑文件
vim /etc/rc.d/rc.local
#加入以下代码
service fdfs_trackerd start
#保存退出

查看端口监听

#查看端口监听
netstat -unltp|grep fdfs

结果

tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 2231/fdfs_trackerd

  • 配置storage服务器

storage的配置与tracker很类似。

由于storage还需要一个目录用来存储数据,所以我另外多建了一个file文件夹。

#创建文件夹
mkdir -p /solumon/fdfs/storage
mkdir -p /solumon/fdfs/file

#复制storage样例配置文件,并重命名
cp storage.conf.sample storage.conf

vim /etc/fdfs/storage.conf
#重点配置以下3个配置:
port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
base_path=/solumon/fdfs/storage #设置storage数据文件和日志目录 

store_path_count=1 #存储路径个数,需要和store_path个数匹配 
base_path0=/solumon/fdfs/file #实际文件存储路径 

#这人注意我使用的是阿里云的ECS主机,
#这儿用到的是私有IP,应该是我的tracker 和storage在一台主机上才会如此,
#如果在不同的主机应该用公网IP
tracker_server=172.31.248.19:22122 #我CentOS7的ip地址和tracker.conf 中配置的端口
http.server_port=8888 #设置 http 端口号

#保存退出

修改保存后创建软引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin
  • 启动storage
service fdfs_storaged start
或
systemctl start fdfs_storaged

同样的加入开机自启动

#授权
chmod +x /etc/rc.d/rc.local
#编辑文件
vim /etc/rc.d/rc.local
#加入以下代码
service fdfs_storaged start
#保存退出

查看一下服务是否启动

netstat -unltp|grep fdfs

如果查看到22122和23000均在监听中说明服务已正常启动。


  • 文件上传测试

参考:

  • FastDFS文件系统github地址
  • CentOS7搭建FastDFS V5.11分布式文件系统及Java整合详细过程
  • FastDFS安装Nginx的模块,fastdfs-nginx-module报错:fdfs_define.h:15:27: 致命错误:common_define.h:没有那个文件或目录
  • 已安装nginx动态添加模块
  • FastDFS完整安装部署操作手册

你可能感兴趣的:(FastDFS文件系统安装以及配置)