【发布时间】:2012-09-07 05:09:26
【问题描述】:
我使用 Nginx 设置了一个 Web 服务器,我使用 nginx-gridfs 模块访问 Mongodb 内容并使用 http_mp4_module 在客户端将 mp3 文件作为流播放,上述两个服务都可以独立运行,但是当我尝试结合这两个服务,并尝试访问存储在Mongodb中的mp3文件并在客户端将其作为流播放,出现404错误,这听起来http_mp4_module无法与Gridfs一起使用,它需要一个真实的文件,该文件存在于File中系统。以下是我的 Nginx 配置设置:
用于访问Mongodb内容:(我可以通过URL http://myhost/voice/mp3/xxxxxx.mp3访问mp3文件)
location /voice/mp3/ {
gridfs whatsup
field=filename
type=string
root_collection=storage.voice.mp3;
mongo localhost:27017;
}
用于在客户端播放mp3文件作为流(我可以使用URL http://myhost/mp3/xxxxxx.mp3的浏览器播放mp3,该mp3文件存在于文件系统中)
location /mp3 {
root /var/www/html/;
mp4;
}
以上两个服务都工作正常,但是当我将它们结合起来时,它就不起作用了,配置如下:
location /play/mp3 {
gridfs whatsup
field=filename
type=string
root_collection=storage.voice.mp3;
mongo localhost:27017;
mp4;
}
当我尝试使用浏览器访问 URL http://myhost/play/mp3/xxxxxx.mp3 并使用它时,它显示 404 错误。
有没有办法将这两种服务结合起来?还是我错过了什么?
【问题讨论】:
标签: mongodb stream nginx gridfs