什么是FastDFS
- FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
说明
- 本文内容可下载word版本文档
局域网Svn地址:https://192.168.1.60/svn/resources/linux/FastDFS
阿里云code Svn地址:http://code.taobao.org/p/FastDFS-INFO/src/trunk/
Github 地址:https://github.com/guoshiqiufeng/fastDFS - 软件版本说明123456789软件名 版本 说明FastDFS v5.05 FastDFS源代码fastdfs-nginx-module v1.16 nginx模块源代码libfastcommon v1.0.7 版本依赖nginx v1.8.0 nginx服务器源代码nginx-upstream-fair master Nginx upstream fair 插件源代码ngx_cache_purge v2.3 nginx cache purge插件源代码pcre v8.34 nginx依赖的pcre库源代码zlib v1.2.8 nginx依赖的zlib库源代码
网络结构
- 本手册使用CentOS 6.5 x86_64版操作系统,按照以下网络结构进行部署:
安装tracker
安装
确认是否安装gcc,若未安装按照以下命令使用yum 进行安装
安装libfastcommonV1.0.7工具包
在172.16.1.202上安装FastDFS tracker,使用FastDFS_v5.05.tar.gz源代码包。
可以直接从Linux系统下载源代码包并解压安装。
使用tar命令解压
运行make.sh,确认make成功。期间如果有错误,可能会是缺少依赖的软件包,需安装后再次make。
运行make.sh install,确认install成功。
安装完成后,所有可执行文件在/usr/local/bin下,以fdfs开头:
把FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下。
所有配置文件在/etc/fdfs下:
至此tracker安装完成。
配置
编辑配置文件目录下的tracker.conf,设置相关信息并保存。
一般只需改动以下几个参数即可:
运行
运行tracker之前,先要把防火墙中对应的端口打开(本例中为22122)。
启动tracker,确认启动是否成功。(查看是否对应端口22122是否开始监听)
也可查看tracker的日志是否启动成功或是否有错误。
设置开机自动启动。
将运行命令行添加进文件:
安装storage
安装
在172.16.1.203上安装FastDFS storage,使用FastDFS_v5.05.tar.gz源代码包。
可以直接从Linux系统下载源代码包并解压安装。
使用tar命令解压
运行make.sh,确认make成功。期间如果有错误,可能会是缺少依赖的软件包,需安装后再次make。
运行make.sh install,确认install成功。
安装完成后,所有可执行文件在/usr/local/bin下,以fdfs开头:
把FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下。
所有配置文件在/etc/fdfs下:
至此storage安装完成。
配置
编辑配置文件目录下的storage.conf,设置相关信息并保存。
一般只需改动以下几个参数即可:
运行
运行storage之前,先要把防火墙中对应的端口打开(本例中为23000)。
启动storage,会根据配置文件的设置自动创建多级存储目录,确认启动是否成功。(查看是否对应端口23000是否开始监听)
也可查看storage的日志是否启动成功或是否有错误。
确认启动成功后,可以运行fdfs_monitor查看storage服务器是否已经登记到tracker服务器。
看到“172.16.1.203 ACTIVE”即可确认storage运行正常。
设置开机自动启动。
将运行命令行添加进文件:
依次在172.16.1.204~208上全部安装上storage并确认运行正常。注意配置文件中group名参数需要根据实际情况调整,本例中group是这样分配的:
group1:172.16.1.203,172.16.1.204
group2:172.16.1.205,172.16.1.206
group3:172.16.1.207,172.16.1.208
另外每个group中所有storage的端口号必须一致。
在storage上安装nginx
在storage上安装的nginx主要为了提供http的访问服务,同时解决group中storage服务器的同步延迟问题。
安装
首先在172.16.1.203上安装nginx,使用nginx-1.8.0.tar.gz源代码包以及FastDFS的nginx插件fastdfs-nginx-module_v1.16.tar.gz。
解压
运行./configure进行安装前的设置,主要设置安装路径、FastDFS插件模块目录、pcre库目录、zlib库目录。
如果提示错误,可能缺少依赖的软件包,需先安装依赖包
配置fastdfs-nginx-module下的config 修改为下面的路径
再次运行./configure
运行make进行编译、安装,确保编译、安装成功。
将FastDFS的nginx插件模块的配置文件copy到FastDFS配置文件目录。
安装完成后,nginx所有文件在/usr/local/nginx下:
至此nginx以及FastDFS的nginx插件模块安装完成。
配置
编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置添加storage信息并保存。
将server段中的listen端口号改为8080:
在server段中添加:
进入/root/fastDFS/fastdfs-nginx-module/src拷贝mod_fastdfs.conf 到/etc/fdfs下
编辑/etc/fdfs配置文件目录下的mod_fastdfs.conf,设置storage信息并保存。
一般只需改动以下几个参数即可:
在末尾增加3个组的具体信息:
建立M00至存储目录的符号连接。
至此,nginx以及FastDFS插件模块设置完成。
运行
运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。
启动nginx,确认启动是否成功。(查看是否对应端口8080是否开始监听)
也可查看nginx的日志是否启动成功或是否有错误。
在error.log中没有错误,既启动成功。可以打开浏览器,直接访问http://172.16.1.203:8080,查看是否弹出nginx欢迎页面。
设置开机自动启动。
|
|
之后依次在172.16.1.204~208上全部安装上nginx并确认运行正常。
在tracker上安装nginx
在tracker上安装的nginx主要为了提供http访问的反向代理、负载均衡以及缓存服务。
安装
首先将代码包和插件解压
运行./configure进行安装前的设置,主要设置安装路径、nginx cache purge插件模块目录、pcre库目录、zlib库目录。
如果提示错误,可能缺少依赖的软件包,需先安装依赖包,再次运行./configure
运行make进行编译、安装,确保编译、安装成功。
至此nginx以及nginx cache purge插件模块安装完成。
配置
编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡以及缓存。
至此,nginx以及nginx cache purge插件模块设置完成。
运行
运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。
启动nginx,确认启动是否成功。(查看是否对应端口8080是否开始监听)
尝试上传一个文件到FastDFS,然后访问试试。先配置client.conf文件。
修改以下参数:
使用/usr/local/bin/fdfs_upload_file上传一个文件,程序会自动返回文件的URL。
然后使用浏览器访问,可以看到文件被正确读取出来了。
查看nginx的access.log日志,可以看到访问返回200成功。
查看nginx的cache目录,可以看到已经生成了缓存文件。
如果要手动清除缓存,可以在文件URL之前加上purge:
设置开机自动启动。
将运行命令行添加进文件:/usr/local/nginx/sbin/nginx
至此,tracker服务器上的http反向代理+负载均衡+缓存已经安装完成。