fastdfs二三事

原创内容,转载请注明出处

Posted by Weakyon Blog on September 12, 2014

记录会比较零碎,是一些学习经验吧

1.之前一直对fastdfs的nginx模块不够了解,稍微思考调研了下,解决了以前的疑惑

location /group1/M00{
	alias   /data/fastdfs/data;
	ngx_fastdfs_module;
}

然后浏览器就可以根据ip/M00/00/00/aaaaaaaaaaaaaaa.jpg类似这样的连接去获取到fastdfs上的文件了

这个配置文件一直是知其然不知其所以然

搜了下nginx的资料

location = / {
# 只匹配 / 查询。
[ configuration A ]
}

location / {
# 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
[ configuration B ]
}

location ^~ /images/ {
# 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
[ configuration C ]
}

location ~* \.(gif|jpg|jpeg)$ {
# 匹配任何已 gif、jpg 或 jpeg 结尾的请求。然而所有 /images/ 目录的请求将使用 Configuration C。
[ configuration D ]
}

而后参考了nginx root&alias文件路径配置这篇文章

ip/group1/M00/00/00/aaaaaaaaaaaaaaaa.jpg在alias的配置下会解析为ip/data/fastdfs/data/00/00/aaaaaaaaaaaaaaaa.jpg这样的路径

也就是服务器上文件实际的路径

如果使用root的配置,会解析成ip/group1/M00/data/fastdfs/data/00/00/aaaaaaaaaaaaaaaa.jpg,显然服务器上没有这个路径

这个解析出来的路径会传给fastdfs_ngx_module,大致看了下代码,也就是传输文件之类的。

12 Sep 2014