FastDFS安装和配置,整合Nginx-1.13.3
目录:
FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.
上面是摘自开源项目FastDFS分布式文件系统首页的描述:高性能分布式文件系统, 功能包括文件存储,同步,访问。同时实现负载均衡等。
一:下载FastDFS
我们一共需要三个文件
1.FastDFS 分布式文件存储系统 下载地址:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master
2.libfastcommon FastDFS函数库 下载地址:https://codeload.github.com/happyfish100/libfastcommon/zip/master
3.fastdfs-nginx-module 连接Nginx功能模块 下载地址: https://codeload.github.com/happyfish100/fastdfs-nginx-module/zip/master
下载时候请注意,此处下载的格式为 .zip 并不是 tar.gz。之所以如此是因为,在使用fastdfs-nginx-module模块整合Nginx时候会出错,原因是 FastDFS版本必须 >= 5.11才可以。否则编译Nginx的时候会报错。可以看看模块的 INSTALL文件,里面有说明。由于FastDFS发布的版本最高只到 5.10,作者还没有将版本更新到5.11.但是github上的代码已经更新,所以直接下载即可。这里是作者 GitHub地址
注:解压zip格式的文件,需要系统已经安装了 unzip软件。没有的可以使用命令安装: yum install zip unzip
为了安装方便,操作过程中,可以切换到root权限进行操作
下载完成之后,将文件夹上传到服务器

再次提醒此处的都是zip格式的文件,使用命令 unzip fileName 逐一解压每个zip文件。例如: unzip fastdfs-master
下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作 mv oldFileName newFileName
例如: mv fastdfs-master fastdfs

二:安装FastDFS
1.安装FastDFS函数库
解压之后,先进入 libfastcommon 目录 cd libfastcommon
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,进入 fastdfs cd fastdfs 和 libfastcommon 同样的安装方式
编译文件 ./make.sh
安装: ./make.sh install
安装完成之后,可以看到两个目录,后面会使用到

三:配置
1.配置说明
配置文件请根据服务器的不同,进行不同的配置。本文中 Tracker Server, Storage Server 都安装在一台服务器上。
2.配置文件目录
在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/ 。可以看到以 .sample 结尾的示例文件。

为了方便,使用命令删除以上所有文件 rm -f * ,然后复制 /fastdfs/conf 目录内所有文件到 /etc/fdfs 目录下。

注:/fastdfs/conf为解压后的fastdfs目录
3.配置和启动Tracker Server
打开 tracker.conf文件 vim ./tracker.conf , 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了

修改完成之后,尝试启动tracker /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
注:base_path路径需要预先创建, 否则报错: error info: No such file or directory
命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs ,查看是否启动

可以看到Tracker Server 已经在22122端口监听
4.配置和启动Storage Server
接下来修改storage.conf配置文件 vim storage.conf ,打开文件之后同样的修改base_path路径,同时修改Tracker Server地址和store_path。端口地址、组名保持不变。

Tracker Server地址:

store_path 地址:

注:以上的Tracker Server地址,请设置成服务器对应地址。端口没修改情况下,保持默认。
store_path路径如果不修改,将无法启动Storage Server服务。不会有任何提示,可以打开 /fastdfs/logs 文件夹下的storaged.log文件,查看错误信息。
OK,修改完成之后,启动Storage, /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start ,同样也是没有任何反应。接着使用命令 netstat -unltp|grep fdfs看看是否启动

出现上图的情况,说明Tracker Server、Storage Server已经成功启动。
5.测试上传服务
接下来打开client.conf配置文件 vim client.conf ,只需要修改base_path和tracker_server两个地方即可。

当修改完成之后,试试能否上传文件,刚好目录有一张图片

使用命令将图片上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg

当看到上面一长串的字符,OK 上传成功了。并成功返回了 图片地址。到存储目录下看看,发现多出了几张图片。其中一张图片和商品图片地址后缀一样,那么文件已经存储到本地。

虽然返回图片地址,但是现在的fastDFS已经不支持HTTP协议。在4.0.5版本时候已经移除了 HTTP支持,因此不能直接通过图片地址访问。所有我们通过FastDFS模块整合Nginx,以提供HTTP服务。
四.整合Nginx和FastDFS
1. 整合模块
此处假设你已经安装过Nginx及其依赖包,如果还没有安装Nginx可以看我另一个文章:CentOS7 安装Nginx
整合Nginx不需要安装FastDFS模块,在配置Nginx时候将fastdfs-nginx-module模块添加进去即可。下面先开始配置Nginx,进入Nginx目录下配置文件
./configure
--prefix=/opt/nginx
--with-pcre=/home/mgame/soft/pcre-8.41
--with-openssl=/home/mgame/soft/openssl-1.1.0f
--with-zlib=/home/mgame/soft/zlib-1.2.
--add-module=/home/mgame/soft/fastdfs-nginx-module/src
编译 make
安装 make install
在安装过程如果出现下面的错误,那么请查看模块中的 INSTALL文件,对FastDFS版本的要求(开头部分已经说明本文的FastDFS版本必须>= 5.11)。
error: ‘FDFSHTTPParams’ has no member named ‘support_multi_range’(pContext->range_count > 1 && !g_http_params.support_multi_range))

将模块添加到Nginx并安装完成之后,进入到Nginx安装目录 /opt/nginx/conf 内,打开 nginx.conf配置文件。

注:此处的Nginx目录,是在配置Nginx时候设置的,请根据各自的设置,打开文件。
将下面的配置添加到文件中,端口其他设置不变。
location /group1/M00 {
ngx_fastdfs_module;
}

注:/group 前面必须有斜线,否则在访问的时候,根路径为Nginx安装目录。
2.配置模块参数
在设置完成之后, 如果现在直接启动Nginx那么会发现,依然无法通过之前上传成功的图片地址访问。在百思不得其解情况下,想到了的Nginx不是有个logs文件夹,用于记录登录及错误信息之类的详情。
那么打开error.log文件看看。OK 找到问题所在了

明晃晃的两个 ERROR, 第一行说明了错误原因:file /etc/fdfs/mod_fastdfs.conf not exist 在 /etc/fdfs/ 目录下不存在mod_fastdfs.conf文件。该文件在模块fastdfs-nginx-module的src目录内
既然找到了文件位置,那么进入到 /fastdfs-nginx-module/src 目录下,将文件 mod_fastdfs.conf 复制到 /etc/fdfs/ 目录下 命令: cp mod_fastdfs.conf /etc/fdfs/
操作完成之后,打开刚刚拷贝的mod_fastdfs.conf 配置文件 vim mod_fastdfs.conf ,分别tracker_server、url_have_group_name、store_path0三个属性的参数
tracker_server:

url_have_group_name:

注:因为访问的地址中包含了组名group1,如果生成的地址中不包含组名,可以不用设置。
store_path0:

修改完成之后,进入 /opt/nginx/sbin 目录下,重新启动Nginx ./nginx -s reload ,然后访问下,之前上传成功后返回的图片地址吧。

经过配置后,已经能够成功的访问FastDFS存储的文件。至此本文的学习笔记到此为止,希望能够帮到大家。文章不足的地方,请多多指正。
FastDFS安装和配置,整合Nginx-1.13.3的更多相关文章
- 分布式文件系统FastDFS安装与配置(单机)
安装包如下:fastdfs-nginx-module_v1.16.tar.gzFastDFS_v5.05.tar.gzlibfastcommon-master.zipnginx-1.8.0.tar.g ...
- FastDFS安装、配置、部署(一)-安装和部署 (转)
FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 Fast ...
- centos安装与配置keepalived+nginx高可用
一.安装启动keepalived 1.下载keepalived 在centos系统中,用wget下载最新版本: mkdir tool cd tool wget https://www.keepaliv ...
- LNMP安装与配置之Nginx
Nginx简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramb ...
- FastDFS安装、配置、部署
FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站. Fas ...
- fastdfs安装与配置
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相 ...
- django-文件上传和下载--fastDFS安装和配置
5.1 安装fastdfs依赖包 一:下载安装FDFS依赖: libfastcommon 下载地址:https://codeload.github.com/happyfish100/libfastco ...
- FastDFS安装、配置、部署(三)-Storage配置具体解释
1.基本配置 # is this config file disabled # false for enabled # true for disabled disabled=false # the n ...
- [转]Centos7 fastdfs/nginx 安装与配置
https://blog.csdn.net/alex_bean/article/details/78625131 参考文章 分布式文件系统-FastDFS 使用FastDFS搭建图片服务器单实例篇 C ...
随机推荐
- iOS-Core-Animation-Advanced-Techniques(一)
视图(UIView)和图层(CALayer)的关系: 每一个UIview都有一个CALayer实例的图层属性,视图的职责就是创建并管理这个图层,以确保当子视图在层级关系中添加或者被移除的时候,他们关联 ...
- Kubernetes服务之StatefulSets简介
StatefulSets在v1.5时还是个beta特性,它取代了v1.4的PetSets特性.PetSets的用户可以参考v1.5的升级指导,将正在运行的PeetSets升级到StatefulSets ...
- Swift自增和自增运算
自增和自增运算 和 C 语言一样,Swift 也提供了方便对变量本身加1或减1的自增(++)和自减(--)的运算符.其操作对象可以是整形和浮点型. var i = ++i // 现在 i = 1 ...
- linux下如何解压和压缩文件
1.*.tar 用 tar –xvf 解压 2.*.gz 用 gzip -d或者gunzip 解压 3.*.tar.gz和*.tgz 用 tar –xzf 解压 4.*.bz2 用 bzip2 -d或 ...
- JAVAEE学习笔记
以后创建常量有三个名字:Constant SystemParas StaticValue 上限或者下限命名 max_ min_ 包含的范围命名 first l ...
- IOS开发基础环境搭建
一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包: ...
- Spring源码:IOC原理解析(一)
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! IOC(Inversion of Control),即控制反转,意思是将对象的创建和依赖关系交给第三方容器处理,我们要用的时候告诉容器我们 ...
- Mysql元数据分析
Mysql元数据分析 @(基础技术) 一.information_schema库 information_schema库中的表,保存的是Mysql的元数据. 官网元数据表介绍 InnoDB相关的表介绍 ...
- win7-x64安装mysql5.7.11(官方zip版)
1.下载官方安装包(http://www.mysql.com/downloads/),此zip包是没有安装器的(*.msi),也没有辅助配置的自动程序. 2.解压zip包,将文件放入指定目录,如:D: ...
- vijos1027题解
题目: 当大家在考场中接受考验(折磨?)的时候,小呆正在悠闲(欠扁)地玩一个叫"最初梦想"的游戏.游戏描述的是一个叫pass的有志少年在不同的时空穿越对抗传说中的大魔王chines ...