1.nginx-gridfs插件配置说明(conf/nginx.conf)
- [gridfs]: nginx识别插件的关键字
- [edusns]: db名
- [root_collection]: 选择collection,如root_collection=blog, mongod就会去找blog.files与blog.chunks两个块,默认是fs
- [field]: 查询字段,保证mongdb里有这个字段名,支持_id, filename, 可省略, 默认是_id
- [type]: 解释field的数据类型,支持objectid, int, string, 可省略, 默认是int
- [user]: 用户名, 可省略
- [pass]: 密码, 可省略
- mongo: mongodb url
参考实例:
location /photo/ {
gridfs gridfs
root_collection=fs
field=filename
type=string;
#user=eduadmin
#pass=eduadmin$123;
mongo 192.168.36.6123000;
}注意,如果不指定 field,默认为 MongoDB 的自增ID,且type为int,基于副本集配置
location /photo/ {
gridfs my_app field=filename type=string;
mongo "foo"
10.7.2.27:27017
10.7.2.28:27017;
}启动nginx:/home/mongo/nginx/bin/nginx
在浏览器里输入http://192.168.36.61/photo/20150315172324.png 能下载图片就说明成功了!
2.注意点
(1)在测试配置时要记住不要将nginx的文件过期缓存时间配置开启了,最好是在配置好服务器以后再做这个工作,否则很容易造成配置错误的假象。
(2)要保证系统启动过程中,MongoDB比nginx先启动,否则nginx-gridfs初始化的时候不能正确链接MOngoDB数据库。
(3)nginx-gridfs的不足:没有实现http的range support,也就是断点续传,分片下载的功能。
gridfs受限于mongodb本身的性能限制,在存储大量数据后写性能下降很快,读并发也不尽如人意。在吞吐峰极限值(6台集群2分片30-40M/s)情况下日志会出现大量。所以,他并不适合作为一个专用的大规模的分布式文件存储系统,但能够满足一般应用级别静态文件存储需求。
0 条评论