FastDFS 搭建图片服务器

FastDFS简介:

  • 一款开源的轻量级分布式文件系统,主要用它来对文件进行管理,
  • 功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。
  • 同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。

服务端有两个角色:

  • 跟踪器(tracker)
    主要做调度工作,在访问上起负载均衡的作用。
  • 存储节点(storage)。
    存储、同步和提供存取接口。

工作原理:

跟踪器和存储节点中的服务器可以随时增加或下线而不影响线上服务。其中跟踪器的所有服务器都是对等的,可以根据服务器压力情况随时增加或减少
为了支持大容量,存储节点采用了分组的方式。存储系统由一个或多个组组成,组之间的文件相互独立,所有组的文件容量累加就是整个存储系统中的文件容量。一个组可以由一台或多态存储服务器组成,一个组下的存储服务器中的文件都相同,组中的多态存储服务器起到了冗余备份和负载均衡的作业
在组中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务
当存储空间不足时,可以到那个太添加组。只需要增加一台或多态服务器,将他们配为一个新组,就扩大了存储系统的容量

搭建图片服务器

1)安装依赖环境

由于是 C 开发 需要GCC 环境:yum -y  install  gcc-c++
依赖 libevent 库 : yum -y  install libevent
若一直 another·····it to exit...
则可以 : rm  -f  /var/run/yum.pid

2)上传安装文件到 /usr/local /fdfs

先在local下创建 fdfs目录 mkdir  /usr/local /fdfs

需要的文件

3)安装 libfastcommon

  • libfastcommon 是 FastDFS官方提供,包含了运行需要的基础库
执行
cd  /usr/local/fdfs
tar  -zxvf  libfastcommonV1.0.7.tar.gz
cd  libfastcommonV1.0.7
./make.sh
./make.sh  install
  • 注意:安好后会自动将库文件拷贝至 /usr/lib64,由于FastDFS应用usr/lib,所以要将 /usr/lib64 下的库文件拷贝至 /usr/lib 下
    cp /usr/lib64/libfastcommon.so /usr/lib

4)安装FastDFS_v5.05(tracker+storage)

执行
cd  /usr/local/fdfs
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
  • 安好后将安装目录下的 conf 下的文件 拷贝到 /etc/fdfs/ 下
    cp * /etc/fdfs/

4.1)安装 Tracker 服务

修改配置文件:vim  /etc/fdfs/tracker.conf

FastDFS 搭建图片服务器_第1张图片
启动:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
(重启:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart)

4.2)安装 Storage 服务

修改配置文件: vim  /etc/fdfs/storage.conf 

FastDFS 搭建图片服务器_第2张图片
启动:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

5)配置客户端

将/usr/local/fdfs/FastDFS/client 里面的libfdfsclient.so 拷贝到 /usr/lib 这一步非常重要
cp libfdfsclient.so /usr/lib
修改配置文件 vim /etc/fdfs/client.conf
FastDFS 搭建图片服务器_第3张图片

测试:放一张图片 在/home/huang/a.jpg
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/huang/a.jpg

6) 安装 nginx 及 nginx 插件

环境
gcc:yum  install gcc-c++
pere:yum install -y pcre pcre-devel
zlib:yun install -y zlib-devel
openssl:yum install -y openssl  openssl-devel
cd  /usr/local/fdfs
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

修改配置文件 :
vim fastdfs-nginx-module/src/config
把local去掉
FastDFS 搭建图片服务器_第4张图片
复制并编辑mod_fastdfs
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs并编辑
vim /etc/fdfs/mod_fastdfs.conf
FastDFS 搭建图片服务器_第5张图片

解压 nginx
cd  /usr/local/fdfs
tar -zxvf  nginx-1.8.1.tar.gz
cd nginx-1.8.1
*对nginx重新config :
./configure --add-module=/usr/local/fdfs/fastdfs-nginx-module/src
make
make  install

注意:nginx 默认安到 /usr/local/nginx 目录
vim /usr/local/nginx/conf/nginx.conf
配置文件中添加一个location

启动:
cd /usr/local/nginx/sbin
./nginx

关闭防火墙试一试
可以再次上传一张图片,然后根据生成的路径进行访问
正确做法是添加对应端口号
vim /etc/sysconfig/iptables
复制其中一条 (yyp)改成22122端口
FastDFS 搭建图片服务器_第6张图片

FastDFS 搭建图片服务器_第7张图片
service iptables restart重启防火墙

上传:
/usr/bin/fdfs_test  /etc/fdfs/client.conf upload  /home/huang/a.jpg
生成的连接就可以访问啦

你可能感兴趣的:(学习)