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
启动:/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
启动:/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
测试:放一张图片 在/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去掉
复制并编辑mod_fastdfs
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs并编辑
vim /etc/fdfs/mod_fastdfs.conf
解压 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端口
service iptables restart重启防火墙
上传:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/huang/a.jpg
本文详细介绍了如何搭建FastDFS图片服务器,包括FastDFS的功能和工作原理,以及从安装依赖环境、配置服务端(Tracker和Storage)、客户端配置,到安装Nginx及插件的全过程,最终实现通过生成的链接访问图片。
1024

被折叠的 条评论
为什么被折叠?



