一..分布式文件系统介绍
是一款开源的轻量级分布式文件系统,采用纯C实现,目前提供了C,Java和PHP的API,主要用它来对文件进行管理,功能包括文件存储,文件同步,文件访问
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。
跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点主要的工作:存储、同步和提供存取接口。
二.上传文件流程
上传文件交互过程:
1. client询问tracker可以执行上传操作的storage,不需要附加参数;
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件上传
三.下载文件流程
1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件下载。
四:搭建图片服务器
1.上传依赖的环境
安装FastDFS需要先从官网下载源码,然后进行编译,但编译依赖gcc环境,
如果没有gcc环境,需要安装gcc:
yum -y install gcc-c++
FastDFS依赖libevent库,需要安装:
yum -y install libevent
2.上传安装文件
FastDFS_v5.0.5
fastdfs-nginx-module_v1.16
libfastcommonV1.0.7
nginx-1.8.1
3.安装libfastcommon
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。
cd /usr/local
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下。
4.安装
FastDFS_v5.05.
i,解压FastDFS_v5.05.tar.gz
tar -zxvf FastDFS_v5.05.tar.gz
ii,cd FastDFS
./make.sh
./make.sh install
a.启动tracker服务
修改/etc/fdfs /tracker.conf文件
base-path=/usr/local/software/FastDFS/tracker
启动tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
b.安装storage服务
如果是在不同的服务器安装,则前面的两步需要重新执行。
配置storage服务。修改/etc/fdfs /storage.conf文件
启动storage服务,此处会时间长一些
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
5.配置客户端
将/usr/local/FastDFS/client 里面的libfdfsclient.so 拷贝到 /usr/lib 这一步非常重要(nginx)
修改配置文件/etc/fdfs/client.conf
测试 /usr/bin/fdfs_test / etc/fdfs/client.conf upload /home/hgz/shuai.jpg
6.安装nginx以及nginx插件
nginx需要依赖一些环境
n gcc(前面已经安装,所以不用再安装)
yum install gcc-c++
n PCRE
yum install -y pcre pcre-devel
n zlib
yum install -y zlib zlib-devel
n openssl
yum install -y openssl openssl-devel
安装nginx,和nginx插件,两者结合
可以使用官方提供的nginx插件。要使用nginx插件需要重新编译。
fastdfs-nginx-module_v1.16.tar.gz
1、解压插件压缩包
2、修改fastdfs-nginx-module/src/config文件,把其中的local去掉。
3、把fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。编辑:
4、解压nginx,进入nginx目录
5、对nginx重新config
./configure --add-module=/usr/local/fastdfs-nginx-module/src
6、make
7、make install
注意:nginx默认安装到了/usr/local/nginx目录下,所以接下来要进入此目录中
8.、nginx的配置 cd /usr/local/nginx/conf
在nginx的配置文件中添加一个location:
9、启动nginx
10、进入/usr/local/nginx/sbin目录
11、[root@localhost sbin]# ./nginx