FastDFS介绍及搭建
概念
FastDFS是一款开源的轻量级分布式文件系统,使用c语言编写,提供了C
、Java、php的使用API,主要用来对文件进行管理,功能包括:文件存储、文件同步、文件访问(upload\download)等,其他分布式文件系统有谷歌GFS、HDFS等
FastDFS系统结构图
安装FastDFS环境
1、安装依赖环境
FastDFS是C语言开发,安装FastDFS需要先从官网下载源码,然后编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
yum -y install gcc-c++
FastDFS依赖libevent库,需要安装:
yum -y install libevent
2、上传安装文件
3、安装libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库
解压:tar -zxvf libfastcommonV1.0.7.tar.gz
进入文件:cd libfastcommon-1.0.7
编译:./make.sh
初始化: ./make.sh install
注意:libfastcommon安装好后会自动将库文件放至/usr/lib64下,由于FastDFS程序引用usr/lib目录,所以需要将/usr/lib64下的库文件拷贝至/usr/lib下
cd /usr/lib64
cp libfastcommon.so /usr/lib
安装FastDFS
(1)解压:tar -zxvf FastDFS_v5.05.tar.gz
(2)进入目录:cd FastDFS
(3)编译: ./make.sh
(4)初始化:./make.sh install
安装成功将安装目录中conf下的文件拷贝到/etc/fdfs下
cd conf
cp * /etc/fdfs
配置Tracker服务
1、修改/etc/fdfs/tracker.conf文件
编辑:vim /etc/fdfs/tracker.conf
通过/找到base_path属性赋值为fastDFS中的tracker
我这里路劲是:/root/fastDFS/FastDFS/tracker
2、启动tracker服务:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
配置Storage服务
1、修改/etc/fdfs/storage.conf文件
通过/找到base_path属性赋值为fastDFS中的storage
路劲是:/root/fastDFS/FastDFS/storage
2、
修改store_path0=当前fastDFS目录下的storage
注意:ip为tracker服务器ip
3、启动storage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
配置客户端
1、将fastDFS中的client(/root/fastDFS/FastDFS/client)里面的libfdfsclient.so拷贝到/usr/lib 提供给nginx做负载均衡
命令:
cd /root/fastDFS/FastDFS/client/
cp libfdfsclient.so /usr/lib
2、修改配置文件/etc/fdfs/client.conf
3、上传文件测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hello.html
上传测试成功
安装nginx及插件
1、安装nginx依赖环境
PCRE
yum install -y pcre pcre-devel
zlib
yum install -y zlib zlib-devel
openssl
yum install -y openssl openssl-devel
2、解压
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
3、修改fastdfs-nginx-module/src/config文件,把其中的local去掉
4、把fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下并编辑该文件:
5、解压nginx
1)对nginx进行config
命令:./configure --add-module=/root/fastDFS/fastdfs-nginx-module/src
编译:make
初始化:make install
2、配置nginx
cd cd /usr/local/nginx/conf
nginx的配置文件中添加一个location
3、启动nginx
cd /usr/local/nginx/sbin/
./nginx
配置完成
测试
关闭防火墙
上传文件
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/0.jpg
文件存储服务器搭建完成
如何访问出现404问题
Nginx 权限导致的,访问请求被拒绝,解决办法:修改Nginx配置文件,在配置文件的开头加入 “ user root; ” 即可,输入命令 “ vim /usr/local/nginx/conf/nginx.conf ”
修改完成后,重启Nginx,输入命令 “ /usr/local/nginx/sbin/nginx -s reload ”,再次访问,如下图: