FastDFS介绍.ppt
- 格式:ppt
- 大小:573.51 KB
- 文档页数:21
FastDFS一个高效的分布式文件系统FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。
它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。
准确地讲,Google FS以及FastDFS、mogileFS、HDFS、TFS 等类Google FS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。
FastDFS的设计理念FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。
和现有的类Google FS分布式文件系统相比,FastDFS的架构和设计理念有其独到之处,主要体现在轻量级、分组方式和对等结构三个方面。
轻量级FastDFS只有两个角色:Tracker server和Storage server。
Tracker server作为中心结点,其主要作用是负载均衡和调度。
Tracker server在内存中记录分组和Storage server 的状态等信息,不记录文件索引信息,占用的内存量很少。
另外,客户端(应用)和Storage server访问Tracker server时,Tracker server扫描内存中的分组和Storage server信息,然后给出应答。
由此可以看出Tracker server非常轻量化,不会成为系统瓶颈。
FastDFS中的Storage server在其他文件系统中通常称作Trunk server或Data server。
Storage server直接利用OS的文件系统存储文件。
FastDFS不会对文件进行分块存储,客户端上传的文件和Storage server上的文件一一对应。
众所周知,大多数网站都需要存储用户上传的文件,如图片、视频、电子文档等。
出于降低带宽和存储成本的考虑,网站通常都会限制用户上传的文件大小,例如图片文件不能超过5MB、视频文件不能超过100MB等。
FastDFS介绍1.什么是FastDFSFastDFS是用c语言编写的一款开源的分布式文件系统。
FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS特点如下:1.分组存储,简单灵活;2.对等结构,不存在单点;3.文件ID由FastDFS生成,作为文件访问凭证.FastDFS不需要传统的名称服务器或元服务器;4.大、中、小文件均可以很好支持,可以存储海量小文件;5.一台存储支持多块磁盘,支持单盘数据恢复;6.提供了nginx扩展模块,可以和nginx无缝衔接;7.支持多线程方式上传和下载文件,支持断点续传;8.存储服务器上可以保存文件附加属性。
2.应用场景FastDFS是一个开源的高性能分布式文件系统。
它的主要功能包括:文件存储,文件同步和文件访问(文件上传和文件下载),它可以解决高容量和负载平衡问题。
FastDFS应满足基于照片共享网站和视频共享网站等文件服务的网站的要求。
FastDFS特别适合以中小文件(建议范围:4KB < file_size < 500MB)为载体的在线服务。
3.FastDFS架构FastDFS架构包括Tracker server和Storage server。
客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。
Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。
可以将tracker称为追踪服务器或调度服务器。
Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。
FastDFS介绍2011年2月26日21:21FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。
它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。
准确地讲,Google FS以及FastDFS、mogileFS、HDFS、TFS等类Google FS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。
FastDFS的设计理念FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。
和现有的类Google FS分布式文件系统相比,FastDFS的架构和设计理念有其独到之处,主要体现在轻量级、分组方式和对等结构三个方面。
轻量级FastDFS只有两个角色:Tracker server和Storage server。
Tracker server作为中心结点,其主要作用是负载均衡和调度。
Tracker server在内存中记录分组和Storage server的状态等信息,不记录文件索引信息,占用的内存量很少。
另外,客户端(应用)和Storage server访问Tracker server时,Tracker server扫描内存中的分组和Storage server信息,然后给出应答。
由此可以看出Tracker server非常轻量化,不会成为系统瓶颈。
FastDFS中的Storage server在其他文件系统中通常称作Trunk server或Data server。
Storage server直接利用OS的文件系统存储文件。
FastDFS不会对文件进行分块存储,客户端上传的文件和Storage server上的文件一一对应。
众所周知,大多数网站都需要存储用户上传的文件,如图片、视频、电子文档等。
出于降低带宽和存储成本的考虑,网站通常都会限制用户上传的文件大小,例如图片文件不能超过5MB、视频文件不能超过100MB等。
分布式⽂件系统FastDFS动态扩容 当⽤户量越来越⼤,则集群中某个group总会到达其极限,这时就得扩展集群的容量了。
FastDFS的扩容分为对group纵向扩容和横向扩容 纵向扩容指在同⼀个group组中增加服务器,实现数据冗余,数据备份。
同⼀个group中最⼤容量取决于最⼩的storage的存储容量。
因此如果还想继续使⽤此group,则需要对此group对应的所有服务器挂载同样容量的磁盘,指定store_path1……,但这样做的话成本相当的⾼,不推荐。
横向扩容是通过集群实现,指新增⼀个group,增加整个FastDFS的存储空间。
fastDFS的存储空间指的是所有group加起来的存储容量。
下⾯就横向扩容来做介绍 在中已经讲了如何配置集群的2个tracker和4个storage,分group1和group2,下⾯增加⼀组group3,也由2台服务器组成 group3:36、37。
安装storage 按照分别布署storage存储节点。
安装 nginx和fastdfs-nginx-module 到 storage存储节36、37。
将/etc/fdfs/storage.conf⾥⾯的 group_name=group3 其它内容与其它storage存储节⼀样。
然后开启这两个storage,并加⼊开机启动:/usr/bin/fdfs_storaged /etc/fdfs/storage.confchkconfig fdfs_storaged on查看集群状态,会显⽰整体内容:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf安装配置nginx/opt/nginx/conf/nginx.conf ⽂件内容与其它结点⼀样。
但修改/etc/fdfs/mod_fastdfs.confbase_path=/data/fastdfs/storagetracker_server=192.168.80.30:22122tracker_server=192.168.80.31:22122storage_server_port=23000group_name=group3 # 第⼀组storage的组名url_have_group_name=truestore_path0=/data/fastdfs/storagegroup_count=2[group1]group_name=group1storage_server_port=23000store_path_count=1store_path0=/data/fastdfs/storage[group2]group_name=group2storage_server_port=23000store_path_count=1store_path0=/data/fastdfs/storage[group3]group_name=group3storage_server_port=23000store_path_count=1store_path0=/data/fastdfs/storage注意:将存储结点32到37的/etc/fdfs/mod_fastdfs.conf⾥⾯都加上[group3]group_name=group3storage_server_port=23000store_path_count=1store_path0=/data/fastdfs/storage启动Nginx,并加和⾃启动shell> /opt/nginx/sbin/nginx上传测试⽂件到group3上。
FastDFS使用文档目录一、FastDFS原理 (3)二、FastDFS 分布式文件系统的安装与使用 (9)1、所有跟踪服务器和存储服务器均执行如下操作 (10)1.1、编译和安装所需的依赖包: (10)1.2、安装 libfastcommon: (10)1.3、安装 FastDFS (11)2、配置置 S FastDFS 跟踪器( ( 192.168.4.121) ) (14)2.1、复制 FastDFS 跟踪器样例配置文件,并重命名: (14)2.2、编辑跟踪器配置文件: (14)2.3、创建基础数据目录(参考基础目录 base_path 配置): (15)2.4、防火墙中打开跟踪器端口(默认为 22122): (15)2.5、启动 Tracker: (15)2.6、关闭 Tracker: (15)2.7、设置 FastDFS 跟踪器开机启动: (15)3 、配置置 S FastDFS 存储( ( 192.168.4.125) ) (16)3.1、复制 FastDFS 存储器样例配置文件,并重命名: (16)3.2、编辑存储器样例配置文件: (16)3.3、创建基础数据目录(参考基础目录 base_path 配置): (17)3.4、防火墙中打开存储器端口(默认为 23000): (17)3.5、启动 Storage: (17)3.6、关闭 Storage: (17)3.7、设置 FastDFS 存储器开机启动: (18)4 、文件上传测试( ( 192.168.4.121) ) (18)4.1、修改 Tracker 服务器中的客户端配置文件: (18)4.2、执行如下文件上传命令: (18)5 、在每个存储节点上安装 nginx (19)5.1、fastdfs-nginx-module 作用说明 (19)5.2、上传 fastdfs-nginx-module_v1.16.tar.gz (19)位置:/usr/local/src (19)5.3、解压 (19)5.4、修改 fastdfs-nginx-module 的 config 配置文件 (20)5.5、上传当前的稳定版本 Nginx(nginx-1.6.2.tar.gz) (20)位置:/usr/local/src 目录 (20)5.6、安装编译 Nginx 所需的依赖包 (20)5.7、编译安装 Nginx(添加 fastdfs-nginx-module 模块) (20)5.8、复制 fastdfs-nginx-module 源码中的配置文件 (21)复制fastdfs-nginx-module到 /etc/fdfs 目录,并修改 (21)5.9、复制 FastDFS 的部分配置文件到/etc/fdfs 目录 (21)5.10、在/fastdfs/storage 文件存储目录下创建软连接 (21)创建软连接将其链接到实际存放数据的目录 (21)5.11、配置 Nginx (21)5.12、防火墙中打开 Nginx 的 8888 端口 (23)5.13、启动 Nginx (23)5.14、通过浏览器访问测试时上传的文件 (23)三、java客户端测试代码 (24)一、FastDFS原理FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
FastDFS的介绍FastDFS的介绍FastDFSFastDFS是由国⼈余庆所开发,其项⽬地址:https:///happyfish100FastDFS是⼀个轻量级的开源分布式⽂件系统,主要解决了⼤容量的⽂件存储和⾼并发访问的问题,⽂件存取时实现了负载均衡。
FastDFS是⼀款类Google FS的开源分布式⽂件系统,它⽤纯C语⾔实现,⽀持Linux、FreeBSD、AIX等UNIX系统。
FastDFS只能通过专有API对⽂件进⾏存取访问,不⽀持POSIX接⼝⽅式,不能mount使⽤。
准确地讲,Google FS以及FastDFS、mogileFS、 HDFS、TFS等类Google FS都不是系统级的分布式⽂件系统,⽽是应⽤级的分布式⽂件存储服务。
FastDFS的特性1》分组存储,灵活简洁、对等结构,不存在单点2》⽂件ID由FastDFS⽣成,作为⽂件访问凭证,FastDFS不需要传统的name server3》和流⾏的web server⽆缝衔接,FastDFS已提供apache和nginx扩展模块4》⼤、中、⼩⽂件均可以很好⽀持,⽀持海量⼩⽂件存储5》⽀持多块磁盘,⽀持单盘数据恢复6》⽀持相同⽂件内容只保存⼀份,节省存储空间7》存储服务器上可以保存⽂件附加属性8》下载⽂件⽀持多线程⽅式,⽀持断点续传FastDFS架构图FastDFS架构解读只有两个⾓⾊,tracker server和storage server,不需要存储⽂件索引信息所有服务器都是对等的,不存在Master-Slave关系存储服务器采⽤分组⽅式,同组内存储服务器上的⽂件完全相同(RAID 1)不同组的storage server之间不会相互通信由storage server主动向tracker server报告状态信息,tracker server之间通常不会相互通信系统架构-上传⽂件流程图1》client询问tracker上传到的storage;2》tracker返回⼀台可⽤的storage;3》client直接和storage通信完成⽂件上传,storage返回⽂件ID。
社区fastdfs图片存储引擎使用文档--------介绍和安装篇一.介绍FastDFS是一个开源的轻量级分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。
特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。
跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。
所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)方式表示,如:width=1024,其中的key为width,value为1024。
文件metadata是文件属性列表,可以包含多个键值对。
FastDFS系统结构如下图所示:图1 fastdfs架构图相关术语介绍:● Tracker Server:跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。
记录storage server的状态,是连接Client和Storage server的枢纽。
● Storage Server:存储服务器,文件和meta data都保存到存储服务器上● group:组,也可称为卷。
同组内服务器上的文件是完全相同的●文件标识:包括两部分:组名和文件名(包含路径)● meta data:文件相关属性,键值对(Key Value Pair)方式,如:width=1024,heigth=768跟踪器和存储节点都可以由一台多台服务器构成。
跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。
其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。
存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。
分布式文件系统FastDFS详解目录为什么要使用分布式文件系统 (3)单机时代 (3)独立文件服务器 (3)分布式文件系统 (4)FastDFS (4)什么是FastDFS (4)FastDFS相关概念 (5)上传机制 (8)下载机制 (11)同步时间管理 (12)精巧的文件ID-FID (14)为什么要使用分布式文件系统单机时代初创时期由于时间紧迫,在各种资源有限的情况下,通常就直接在项目目录下建立静态文件夹,用于用户存放项目中的文件资源。
如果按不同类型再细分,可以在项目目录下再建立不同的子目录来区分。
例如:resources\static\file、resources\static\img等。
优点:这样做比较便利,项目直接引用就行,实现起来也简单,无需任何复杂技术,保存数据库记录和访问起来也很方便。
缺点:如果只是后台系统的使用一般也不会有什么问题,但是作为一个前端网站使用的话就会存在弊端。
一方面,文件和代码耦合在一起,文件越多存放越混乱;另一方面,如果流量比较大,静态文件访问会占据一定的资源,影响正常业务进行,不利于网站快速发展。
独立文件服务器随着公司业务不断发展,将代码和文件放在同一服务器的弊端就会越来越明显。
为了解决上面的问题引入独立图片服务器,工作流程如下:项目上传文件时,首先通过ftp或者ssh将文件上传到图片服务器的某个目录下,再通过ngnix或者apache来访问此目录下的文件,返回一个独立域名的图片URL地址,前端使用文件时就通过这个URL地址读取。
优点:图片访问是很消耗服务器资源的(因为会涉及到操作系统的上下文切换和磁盘I/O操作),分离出来后,Web/App服务器可以更专注发挥动态处理的能力;独立存储,更方便做扩容、容灾和数据迁移;方便做图片访问请求的负载均衡,方便应用各种缓存策略(HTTP Header、Proxy C ache等),也更加方便迁移到CDN。
缺点:单机存在性能瓶颈,容灾、垂直扩展性稍差分布式文件系统通过独立文件服务器可以解决一些问题,如果某天存储文件的那台服务突然down了怎么办?可能你会说,定时将文件系统备份,这台down机的时候,迅速切换到另一台就OK了,但是这样处理需要人工来干预。
FastDFS⾼可⽤集群架构配置搭建⼀、基本模块及⾼可⽤架构FastDFS 是余庆⽼师开发的⼀个开源的⾼性能分布式⽂件系统(DFS)。
它的主要功能包括:⽂件存储,⽂件同步和⽂件访问,以及⾼容量和负载平衡。
FastDFS 系统有三个⾓⾊:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
Tracker Server: 跟踪服务器,主要做调度⼯作,起到均衡的作⽤;负责管理所有的storage server和group,每个storage在启动后会连接 Tracker,告知⾃⼰所属 group 等信息,并保持周期性⼼跳。
多个Tracker之间是对等关系,不存在单点故障。
Storage Server: 存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,组内的storage server上的数据互为备份。
Client:客户端,上传下载数据的服务器模块之间的主要关系如下:FastDFS æ¶æå¾.png下图是实现统⼀的对外下载访问⼊⼝的⾼可⽤架构,其中所有的Nginx只做下载⽤途,上传通过tracker进⾏上传。
⼆、环境准备⼯作系统软件说明:名称说明CentOS7.x(安装系统)libfastcommon FastDFS分离出的⼀些公⽤函数包FastDFS FastDFS本体fastdfs-nginx-module FastDFS和nginx的关联模块,解决组内同步延迟问题nginx nginx 1.12.2(CentOS 7 下YUM可以安装的最新版本)整个搭建所需环境资源及⽤途如下表:名称IP地址应⽤tracker01192.168.0.1FastDFS,libfastcommontracker02192.168.0.2FastDFS,libfastcommonstorage01192.168.0.10FastDFS,libfastcommon,nginx,fastdfs-nginx-module storage02192.168.0.11FastDFS,libfastcommon,nginx,fastdfs-nginx-module nginx01192.168.0.100nginx,keepalivednginx02192.168.0.101nginx,keepalivedVIP192.168.0.200-三、安装过程1、编译环境准备说明位置所有安装包/opt/fastdfs数据存储位置/data/fastdfs$ tar -zxvf libfastcommon-1.0.39.tar.gz#安装编译环境$ yum groups install Development Tools -y$ yum install perl -y$ mkdir -p /opt/fastdfs /data/fastdfs$ cd /opt/fastdfs #为下⼀步下载源码做准备2、安装libfastcommon#下载⽂件$ wget https:///happyfish100/libfastcommon/archive/V1.0.39.tar.gz$ tar -zxvf libfastcommon-1.0.39.tar.gz$ cd libfastcommon-1.0.39/$ ./make.sh$ ./make.sh install3、安装FastDFS$ wget https:///happyfish100/fastdfs/archive/V5.11.tar.gz$ tar -zxvf fastdfs-5.11.tar.gz$ cd fastdfs-5.11/$ ./make.sh$ ./make.sh install#配置⽂件准备$ cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf #tracker节点$ cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf #storage节点$ cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端⽂件,测试⽤$ cp /opt/fastdfs/fastdfs-5.11/conf/http.conf /etc/fdfs/ #供nginx访问使⽤$ cp /opt/fastdfs/fastdfs-5.11/conf/mime.types /etc/fdfs/ #供nginx访问使⽤tracker server配置:$ vim /etc/fdfs/tracker.conf#需要修改的内容如下port=22122 # tracker服务器端⼝(默认22122,⼀般不修改)base_path=/data/fastdfs # 存储⽇志和数据的根⽬录#编辑启动⽂件$ vim /usr/lib/systemd/system/fastdfs-tracker.service[Unit]Description=The FastDFS File serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf startExecStop=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stopExecRestart=/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart[Install]WantedBy=multi-user.target$ systemctl daemon-reload$ systemctl enable fastdfs-tracker.service$ systemctl start fastdfs-tracker.service$ netstat -tulnp #查看服务是否启动,端⼝是否打开storage server配置$ vim /etc/fdfs/storage.conf#需要修改的内容如下port=23000 # storage服务端⼝(默认23000,⼀般不修改)base_path=/data/fastdfs # 数据和⽇志⽂件存储根⽬录store_path0=/data/fastdfs # 第⼀个存储⽬录tracker_server=192.168.0.1:22122 # tracker服务器IP和端⼝tracker_server=192.168.0.2:22122 # tracker服务器IP和端⼝http.server_port=8888 # http访问⽂件的端⼝(默认8888,看情况修改,和nginx中保持⼀致) #编辑启动⽂件$ vim /usr/lib/systemd/system/fastdfs-storage.service[Unit]Description=The FastDFS File serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingExecStart=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf startExecStop=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stopExecRestart=/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart[Install]WantedBy=multi-user.target$ systemctl daemon-reload$ systemctl enable fastdfs-storage.service$ systemctl start fastdfs-storage.service$ netstat -tulnp #查看服务是否启动,端⼝是否打开#查看集群状态$ fdfs_monitor /etc/fdfs/storage.conf list[2018-11-06 00:00:00] DEBUG - base_path=/data/fastdfs/storage, connect_timeout=30, network_timeout=60, tracker_server_count=2, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool= server_count=2, server_index=0tracker server is 192.168.0.1:22122group count: 1Group 1:...Client配置$ vim /etc/fdfs/client.conf#需要修改的内容如下base_path=/data/fastdfstracker_server=192.168.0.1:22122 # tracker服务器IP和端⼝tracker_server=192.168.0.2:22122 # tracker服务器IP和端⼝#保存后测试,返回ID表⽰成功如:group1/M00/00/00/xx.tar.gz$ fdfs_upload_file /etc/fdfs/client.conf testfile4、安装nginx和fastdfs-nginx-module下载nginx module$ wget https:///happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz$ cp /opt/fastdfs/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs安装nginx$ yum install nginx -y# 查看版本及编译参数$ nginx -v$ nginx -V添加nginx modulewget /download/nginx-1.12.2.tar.gz$ tar -zxvf nginx-1.12.2.tar.gz$ cd nginx-1.12.2/$ ./configure --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/acces $ make$ cp objs/nginx /usr/sbin/nginx$ systemctl enable nginx$ systemctl restart nginx$ vim /etc/fdfs/mod_fastdfs.conf#需要修改的内容如下tracker_server=192.168.0.1:22122 # tracker服务器IP和端⼝tracker_server=192.168.0.2:22122 # tracker服务器IP和端⼝url_have_group_name=truebase_path=/data/fastdfsstore_path0=/data/fastdfs#配置nginx.config$ vim /etc/nginx/nginx.conf#增加如下内容server {listen 8888; ## 该端⼝为storage.conf中的http.server_port相同server_name localhost;location ~/group[0-9]/ {root /data/fastdfs;ngx_fastdfs_module;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}#测试下载,⽤外部浏览器访问刚才已传过的⽂件,引⽤返回的IDhttp://192.168.0.10:8888/group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz#弹出下载则⽬前nginx已经OK注:在nginx的构建中会遇到不少的报错,具体如下:./configure: error: the Google perftools module requires the Google perftools library. You can either do not enable the module or install the library.解决⽅法如下:$ yum install gperftools -y/configure: error: the HTTP rewrite module requires the PCRE library.解决⽅法如下:$ yum -y install pcre pcre-devel./configure: error: the HTTP cache module requires md5 functions from OpenSSL library. You can either disable the module by using --without-http-cache option, or install the OpenSSL library intothe system, or build the OpenSSL library statically from the source with nginx by using --with-http_ssl_module --with-openssl= options.解决⽅法如下:$ yum -y install openssl openssl-devel./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using –without-http_gzip_module option, or install the zlib library into the system, or build thezlib library statically from the source with nginx by using –with-zlib= option.解决⽅法如下:$ yum install -y zlib-devel./configure: error: the HTTP XSLT module requires the libxml2/libxslt libraries. You can either do not enable the module or install the libraries.解决⽅法如下:$ yum -y install libxml2 libxml2-dev$ yum -y install libxslt-devel./configure: error: the HTTP image filter module requires the GD library. You can either do not enable the module or install the libraries.解决⽅法如下:$ yum -y install gd-devel./configure: error: perl module ExtUtils::Embed is required解决⽅法如下:$ yum -y install perl-devel perl-ExtUtils-Embed./configure: error: the GeoIP module requires the GeoIP library. You can either do not enable the module or install the library.解决⽅法如下:$ yum -y install GeoIP GeoIP-devel GeoIP-data在make过程中会出现⼀个报错:/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory解决⽅法如下:修改fastdfs-nginx-module-1.20/src/config⽂件,修改如下:ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/" 然后重新./configure && make,就可以了5、配置⽂件访问的负载均衡和⾼可⽤在192.168.0.100和101上安装nginx、keepalivedyum install -y nginx keepalivednginx的配置⽂件如下:upstream fdfs_group01 {server 192.168.0.10:8888 weight=1 max_fails=2 fail_timeout=30s;server 192.168.0.11:8888 weight=1 max_fails=2 fail_timeout=30s;}server {listen 80;server_name localhost;location /group01{proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://fdfs_group01;expires 30d;}}keepalived配置⽂件如下:global_defs {router_id LVS_DEVEL}vrrp_script chk_ngx {script "/etc/keepalived/check_nginx.sh"interval 2weight -5fall 3rise 2}vrrp_instance VI_1 {interface eno16777984state MASTERpriority 100virtual_router_id 11advert_int 1authentication {auth_type PASSauth_pass 1111}unicast_src_ip 192.168.0.100unicast_peer {192.168.0.101}virtual_ipaddress {192.168.0.200}track_script {chk_ngx}notify_master "/etc/keepalived/notify.sh master"notify_backup "/etc/keepalived/notify.sh backup"notify_fault "/etc/keepalived/notify.sh fault"}check_nginx.sh#!/bin/bashcounter=$(ps -C nginx --no-heading|wc -l)if [ "${counter}" = "0" ]; thenexit 1elseexit 0fiOK,以上就是所有的安装步骤及相关配置。