欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

FastDFS安装和配置整合Nginx-1.13.3的方法

程序员文章站 2022-04-06 11:13:01
一:下载fastdfs   我们一共需要三个文件   1.fastdfs  分布式文件存储系统  下载地址:   2.libfastcommon  fastdfs函数...

一:下载fastdfs

  我们一共需要三个文件

  1.fastdfs  分布式文件存储系统  下载地址:

  2.libfastcommon  fastdfs函数库  下载地址: 

  3.fastdfs-nginx-module  连接nginx功能模块  下载地址:

  下载时候请注意,此处下载的格式为 .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权限进行操作

  下载完成之后,将文件夹上传到服务器

FastDFS安装和配置整合Nginx-1.13.3的方法

  再次提醒此处的都是zip格式的文件,使用命令 unzip filename 逐一解压每个zip文件。例如:  unzip fastdfs-master

  下面是解压后的情况,因为不喜欢带master 的后缀,在解压之后删除了。可以使用命令操作   mv oldfilename newfilename

 例如: mv fastdfs-master fastdfs

FastDFS安装和配置整合Nginx-1.13.3的方法

二:安装fastdfs

  1.安装fastdfs函数库

  解压之后,先进入 libfastcommon 目录   cd libfastcommon

    编译文件 ./make.sh

    安装:    ./make.sh install

  安装完成之后,进入 fastdfs  cd fastdfs libfastcommon 同样的安装方式

    编译文件  ./make.sh

    安装:      ./make.sh install 

   安装完成之后,可以看到两个目录,后面会使用到

FastDFS安装和配置整合Nginx-1.13.3的方法

三:配置

  1.配置说明

  配置文件请根据服务器的不同,进行不同的配置。本文中 tracker server, storage server 都安装在一台服务器上。

  2.配置文件目录

  在安装完成之后,在 /etc 下会生成一个 fdfs 文件夹,进入fast配置文件目录 cd /etc/fdfs/ 。可以看到以 .sample 结尾的示例文件。

FastDFS安装和配置整合Nginx-1.13.3的方法

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

FastDFS安装和配置整合Nginx-1.13.3的方法

注:/fastdfs/conf为解压后的fastdfs目录

  3.配置和启动tracker server

  打开 tracker.conf文件  vim ./tracker.conf , 修改base_path路径改成你自己的目录, 端口之类的没占用情况下就不修改了

FastDFS安装和配置整合Nginx-1.13.3的方法

  修改完成之后,尝试启动tracker  /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

注:base_path路径需要预先创建, 否则报错: error info: no such file or directory

  命令执行之后,发现没有任何反应,接着使用命令 netstat -unltp|grep fdfs ,查看是否启动

FastDFS安装和配置整合Nginx-1.13.3的方法

  可以看到tracker server 已经在22122端口监听

  4.配置和启动storage server

  接下来修改storage.conf配置文件  vim storage.conf ,打开文件之后同样的修改base_path路径,同时修改tracker server地址和store_path。端口地址、组名保持不变。

FastDFS安装和配置整合Nginx-1.13.3的方法

  tracker server地址:

FastDFS安装和配置整合Nginx-1.13.3的方法

  store_path 地址:

FastDFS安装和配置整合Nginx-1.13.3的方法

注:以上的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看看是否启动

FastDFS安装和配置整合Nginx-1.13.3的方法

    出现上图的情况,说明tracker server、storage server已经成功启动。

  5.测试上传服务

  接下来打开client.conf配置文件  vim client.conf ,只需要修改base_path和tracker_server两个地方即可。

FastDFS安装和配置整合Nginx-1.13.3的方法

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

FastDFS安装和配置整合Nginx-1.13.3的方法

  使用命令将图片上传

 /usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg

FastDFS安装和配置整合Nginx-1.13.3的方法

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

FastDFS安装和配置整合Nginx-1.13.3的方法

  虽然返回图片地址,但是现在的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))

FastDFS安装和配置整合Nginx-1.13.3的方法

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

FastDFS安装和配置整合Nginx-1.13.3的方法

  注:此处的nginx目录,是在配置nginx时候设置的,请根据各自的设置,打开文件。

   将下面的配置添加到文件中,端口其他设置不变。

location /group1/m00 {
  ngx_fastdfs_module;
}

FastDFS安装和配置整合Nginx-1.13.3的方法

  注:/group 前面必须有斜线,否则在访问的时候,根路径为nginx安装目录。

  2.配置模块参数

  在设置完成之后, 如果现在直接启动nginx那么会发现,依然无法通过之前上传成功的图片地址访问。在百思不得其解情况下,想到了的nginx不是有个logs文件夹,用于记录登录及错误信息之类的详情。

  那么打开error.log文件看看。ok 找到问题所在了

FastDFS安装和配置整合Nginx-1.13.3的方法

  明晃晃的两个 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:

FastDFS安装和配置整合Nginx-1.13.3的方法

  url_have_group_name:

FastDFS安装和配置整合Nginx-1.13.3的方法

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

  store_path0:

FastDFS安装和配置整合Nginx-1.13.3的方法

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

FastDFS安装和配置整合Nginx-1.13.3的方法

  经过配置后,已经能够成功的访问fastdfs存储的文件。

总结

以上所述是小编给大家介绍的fastdfs安装和配置整合nginx-1.13.3的方法,希望对大家有所帮助