NginxでWebサーバーをセットアップし、nginx-gridfsモジュールを使用してMongodbコンテンツにアクセスし、http_mp4_moduleを使用してクライアントでmp3ファイルをストリームとして再生します。上記のサービスは両方ともスタンドアロンで正常に動作しますが、これら2つのサービスを結合しようとすると、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エラーが表示されます。
両方のサービスを組み合わせるアイデアはありますか? または私が逃したものがあるかどうか?