我用 Nginx 设置了一个 Web 服务器,我使用 nginx-gridfs 模块来访问 Mongodb 内容并使用 http_mp4_module 在客户端上将 mp3 文件作为流播放,以上两个服务都可以独立工作,但是当我尝试结合这两个服务时,并尝试访问存储在Mongodb中的mp3文件并在客户端将其作为流播放,出现404错误,这听起来http_mp4_module无法与Gridfs一起使用,它需要文件系统中存在的真实文件。以下是我的 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 错误。
有没有办法将这两种服务结合起来?或者是否有我错过的东西?