FastDFS NGINX集成

1月 18, 2017 |

FastDFS 提供了fastdfs-nginx-module模块来支持通过NGINX访问FastDFS中存储的数据,据我所知,fastdfs-nginx-module模块只能通过源码安装到nginx,而不能将其编译成动态模块加载到已经安装好的nginx中
步骤如下:

源码编译
下载 https://github.com/happyfish100/fastdfs-nginx-module-master.zip
解压 unzip fastdfs-nginx-module-master

wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar -xvf nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure --add-module=/root/fastdfs-nginx-module-master/src --without-http_rewrite_module --without-http_gzip_module --conf-path=/etc/nginx/nginx.conf --pid-path=/etc/nginx/nginx.pid --lock-path=/etc/nginx/nginx.lock
make
make install

配置修改:
/etc/nginx/nginx.conf中添加如下映射

location /M00 {
# root /var/fastdfs/data;
ngx_fastdfs_module;
}

将fastdfs-nginx-module-master/src/mod_fastdfs.conf以及
fastdfs-5.08/conf/http.conf和
fastdfs-5.08/conf/mime.types
拷贝到/etc/fdfs
目录

修改mod_fastdfs.conf文
主要改如下项:
base_path:数据的默认存放路径
log_filename日志的存放路径,注意log_filename配置的路径要对nginx用户可读写,而不是当前用户

重启nginx
/usr/local/nginx/sbin/nginx -s reload

测试:
在浏览器中请求如下路径
192.168.14.153/M00/01/74/wKgOmVh_dH6AE-f3AAA2_mDXnps704.jpg
操作成功

后续操作:
一个nginx只能访问一个storage服务器的数据,所以多个storage服务器要配置多个nginx,然后将nginx按照请求路径中的组id(groupid)进行路由。

Posted in: 服务器

Comments are closed.