FastDFS 配置 Nginx 模块及访问测试

#备注:以下nginx-1.10.3源码目录根据nginx版本号不同会有相应的变化,以nginx版本号为准

#一、安装 Nginx 和 fastdfs-nginx-module

1,安装 Nginx 请看:Nginx安装教程

2,下载fastdfs-nginx-module模块,这里是通过wget下载:

wget https://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

1

3,解压fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

1

4,将解压后的文件夹移动到nginx源码文件夹下

mv fastdfs-nginx-module /usr/local/nginx-1.10.3/

1

5,配置 nginx 安装,加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。

运行nginx -V命令查看已经安装的nginx模块(configure arguments:后面表示当前已经安装的nginx模块)

/usr/local/nginx/sbin/nginx -V

1

红色圈圈内是当前nginx已经安装的模块

6,配置Nginx的参数,添加fastdfs-nginx处理模块

// 此段代码根据自己nginx已经安装的模块进行复制,在已经安装好的模块后面添加 --add-module=fastdfs-nginx-module/src/,以下是我的nginx已经安装的模块进行安装的,每个人安装的模块会不一样

./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/usr/local/src/pcre-8.37 --with-http_ssl_module --add-module=ngx_image_thumb-master --add-module=fastdfs-nginx-module/src/

1

2

7,编译

make

1

但是,万万没想到,报错啦! 编译中断。

原因:编译安装nginx的fastdfs插件的头文件没有找到,由于编译nginx时候系统会到/usr/local/include,而编译安装fastdfs-nginx-module时则默认保存在了/usr/include目录。

修复:

ln -s /usr/include/fast* /usr/local/include/

1

接下来重新编译就可以通过了,编译成功后运行nginx源码文件夹下的/usr/local/nginx-1.10.3/objs/nginx -V查看nginx安装的模块

/usr/local/nginx-1.10.3/objs/nginx -V

1

8,备份,安装

备份之前目录下的/usr/local/nginx/sbin/nginx文件,拷贝新编译的/usr/local/nginx-1.10.3/objs/nginx到/usr/local/nginx/sbin/nginx目录下,到此fastdfs-nginx-module模块安装完成。

#二、配置 fastdfs-nginx-module 和 Nginx

1,拷贝mod-fastdfs.conf到/etc/fdfs文件目录下,配置mod-fastdfs.conf

cp /usr/local/nginx-1.10.3/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

vim /etc/fdfs/mod_fastdfs.conf

1

2

修改mod-fastdfs.conf配置只需要修改这三个地方就行了,其他不需要也不建议改变。

# FastDFS tracker_server can ocur more than once, and tracker_server format is

# "host:port", host can be hostname or ip address

# valid only when load_fdfs_parameters_from_tracker is true

tracker_server=192.168.2.129:22122

# if the url / uri including the group name

# set to false when uri like /M00/00/00/xxx

# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx

# default value is false

url_have_group_name = true

# store_path#, based 0, if store_path0 not exists, it's value is base_path

# the paths must be exist

# must same as storage.conf

store_path0=/home/yuqing/fastdfs

#store_path1=/home/yuqing/fastdfs1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

接着我们需要把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去

cd /usr/local/fastdfs-5.05/conf/

cp anti-steal.jpg http.conf mime.types /etc/fdfs/

cd /etc/fdfs/

1

2

3

2,配置 Nginx。编辑nginx.conf文件

cd /usr/local/nginx/conf

vim nginx.conf

1

2

在配置文件中加入:

location /group1/M00 {

root /home/yuqing/fastdfs/data/; // 文件上传存放目录

ngx_fastdfs_module;

}

1

2

3

4

启动 Nginx ,会打印出fastdfs模块的pid,看看日志是否报错,正常不会报错的

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

1

3,上传文件进行访问测试

上传文件

访问测试

成功啦!!! 返回文件信息及上传后的文件 HTTP 地址,你打开浏览器访问一下试试

我这里配置的是81端口访问,80端口已经被占用了,可以根据自己实际情况配置访问端口(nginx默认端口是80),如果没有特定配置端口的话把端口号改为上面访问的端口号改为80就可以了

#三、FastDFS通过java上传文件到服务器:点击进入

#总结一下

这篇文章一步一步的讲了通过 Nginx 结合fastdfs-nginx-module模块来进行上传测试及下载工作,当然这也需要结合上一篇 Tracker 和 Storage 服务来进行,这算是整体进行了 FastDFS 的安装与配置,分布式的配置也几乎和这没差别,只不过是增加了不同组和多台服务器,有机会希望你亲自试试。

---------------------

作者:hwmhehe

来源:CSDN

原文:https://blog.csdn.net/u012946310/article/details/81539721

版权声明:本文为博主原创文章,转载请附上博文链接!