FastDFS的Nginx模块
1 简介
一个好的分布式文件系统最好提供Nginx的模块,因为对于互联网应用来说,像文件这种
静态资源,一般是通过HTTP的下载,此时通过容易扩展的Nginx来访问FastDFS,能够让
文件的上传和下载变得特别简单。
Nginx安装FastDFS模块,主要是安装在FastDFS的存储服务器(storage)上,而不是tracker和client上。
目的实际是为了,当输入地址(其中192.168.31.109 是一个storage服务器):http://192.168.201.109/group1/M00/00/00/wKgCbFem0l2ALJKKKJJfRAMkc536.png
能够通过Nginx的Web服务功能,直接返回图片。
2 Nginx上部署FastDFS
2.1 模块包的安装
注意:全部安装条件在确保之前的FastDFS 的tracker、storage和client可以正常使用。
之前FastDFS安装步骤:https://blog.csdn.net/weixin_45525272/article/details/107748384
1)解压Nginx的FastDFS模块包:tar -xzvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/
会发现里面有个INSTALL 和 src目录,这个不需要make而是需要重新编译一下storage的Nginx模块。
2)安装和编译Nginx 并添加FastDFS模块
cd nginx-1.10.1/
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
其中/usr/local/src/fastdfs-nginx-module/src 是刚才解压的fastdfs模块的绝对路径,就是在编译Nginx时候,连同这个模块一起编译:
make
sudo make install
报错处理
如果中途出现编译错误,找不到fastdfs_define.h等头文件:
原因是Nginx是会想/usr/local/include/fastdfs/去找, 而不是去/usr/include/fastdfs/去找,将/usr/include/fastdfs/ 和 /usr/include/fastcommon/ 两个文件夹拷贝到/usr/local/include/下即可:
sudo cp /usr/include/fastdfs/ /usr/local/include/ -R
sudo cp /usr/include/fastcommon/ /usr/local/include/ -R