3.1 概述

在文件上传的时候,上传成功的信息中有提示我们可以通过某个路径去访问上传的文件,但是我们直接访问这个路径,却不可以,那么已经上传到FastDFS文件系统中的文件,我们如何在浏览器中访问呢?

FastDFS提供了一个Nginx扩展模块,利用该模块,我们可以通过Nginx访问已经上传到FastDFS上的文件。

3.2 前期准备工作

3.2.1 将Fastdfs的Nginx扩展模块源代码上传到Linux上

image.png

3.2.2 解压下载下来的fastdfs-nginx-module-master.zip文件

  1. unzip fastdfs-nginx-module-master.zip

image.png

3.3 安装Nginx并且添加fastDFS模块

因为这个模块必须在Nginx的安装的过程中才能添加,所有我们需要重新安装一个nginx,为了和原来已安装的Nginx进行区分,我们把新安装的Nginx取名为nginx_fdfs
**

3.3.1 将Nginx的tar包上传到Linux上

image.png

3.3.2 解压上传的Nginx文件

image.png

3.3.3 切换至解压后的Nginx主目录,执行配置操作

  1. cd nginx-1.14.2
  2. ./configure --prefix=/usr/local/nginx_fdfs --add-module=/home/soft/fastdfs-nginx-module-master/src

—prefix是指定nginx安装路径
—add-module指定fastDFS的nginx模块的源代码路径

image.png

3.3.4 执行命令进行编译

  1. make

3.3.5 执行命令进行安装

  1. make install

3.3.6 以上安装Nginx的FastDFS扩展模块注意事项

我们知道,Nginx的安装需要Linux安装相关的几个库,否则编译会出现错误,这几个库分别是:
gcc编译器是否安装
检查是否安装:yum list installed | grep gcc
执行安装:yum install gcc -y

openssl库是否安装
检查是否安装:yum list installed | grep openssl
执行安装:yum install openssl openssl-devel -y

pcre库是否安装
检查是否安装:yum list installed | grep pcre
执行安装:yum install pcre pcre-devel -y

zlib库是否安装
检查是否安装:yum list installed | grep zlib
执行安装:yum install zlib zlib-devel -y

  1. yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel –y

3.4 FastDFS的Nginx访问配置

3.4.1 将/home/soft/fastdfs-nginx-module-master/src(自己实际存放Nginx扩展模块的目录)目录下的mod_fastdfs.conf文件拷贝到 /etc/fdfs/目录下,这样才能正常启动Nginx

cp /home/soft/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/

image.png

3.4.2 修改mod_fastdfs.conf配置文件

base_path=/opt/fastdfs/nginx_mod
tracker_server=192.168.235.128:22122
url_have_group_name = true
store_path0=/opt/fastdfs/storage/files

3.4.3 在/opt/fastdfs/目录下创建nginx_mod目录

image.png

3.4.4 配置Nginx的配置文件

#拦截请求路径中包含 /group[1-9]/M0[0-9] 的请求,用 fastdfs的Nginx 模块进行转发
location ~ /group[1-9]/M0[0-9] {   
     ngx_fastdfs_module;  
}

image.png
ngx_fastdfs_module; #这个指令不是Nginx本身提供的,是扩展模块提供的,根据这个指令找到FastDFS提供的Nginx模块配置文件,然后找到Tracker,最终找到Stroager

3.5 FastDFS的Nginx访问启动与测试

3.5.1 启动带有Fastdfs模块的Nginx

image.png

3.5.2 重启或启动FastDFS服务进程

fdfs_trackerd /etc/fdfs/tracker.conf restart
fdfs_storaged /etc/fdfs/storage.conf restart

image.png

3.5.3 上传一个文件进行测试验证

fdfs_test /etc/fdfs/client.conf upload /root/aa.txt

image.png

3.5.4 在浏览器访问上传的文件

当遇到400错误,检查配置/etc/fdfs/mod_fastdfs.conf url_have_group_name=true
该配置表示访问路径中是否需要带有group1,改为true表示路径中需要有group1

3.5.5 扩展

模拟大型网站用户头像的处理方式,上传一张图片,然后自己写一个html页面,src指向上传的图片
**