FastDFS安装和配置,整合Nginx-1.13.3

目录:html

  一:下载FastDFS java

  二:安装FastDFS nginx

  三:配置git

  四:整合Nginx和FastDFSgithub

 

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.vim

上面是摘自开源项目FastDFS分布式文件系统首页的描述:高性能分布式文件系统, 功能包括文件存储,同步,访问。同时实现负载均衡等。服务器

 

一:下载FastDFS app

  咱们一共须要三个文件负载均衡

  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.11 
--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存储的文件。至此本文的学习笔记到此为止,但愿可以帮到你们。文章不足的地方,请多多指正。

相关文章
相关标签/搜索