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