FastDFS 配置 Nginx 模块及访问测试

Stella981
• 阅读 902

#备注:以下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
版权声明:本文为博主原创文章,转载请附上博文链接!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Nginx配置https
一、开启nginx的ssl模块1.未安装过nginx,编译安装配置参数如下:./configure\prefix/usr/local/nginx\withpcre\withhttp\_ssl\_modulessl模块\withhttp\_stub\_status\_module\wit
Wesley13 Wesley13
3年前
4. Nginx模块
Nginx官方模块1.ngx\_http\_stub\_status\_modulehttp://nginx.org/en/docs/http/ngx\_http\_stub\_status\_module.html。(https://www.oschina.net/action/GoToLink?urlhttp%3A%2
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
FastDFS介绍与安装
目录FastDFS.11    介绍....12    安装....42.1     安装libfastcommon.42.1.1     下载安装包并解压....42.2     安装FastDFS.52.3     安装nginx.82.3.1     更新nginx安装库....82.3
Stella981 Stella981
3年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这