NGINX RTMP はサイト対応ディレクトリ セットでは動作しません

NGINX RTMP はサイト対応ディレクトリ セットでは動作しません

sites-availableRTMP サーバー ブロックが 内のファイル( にシンボリック リンク)内で使用されている場合に、NGINX と RTMP モジュールを起動する際に問題が発生しますsites-enabled。NGINX 構成ファイルはすべて にあります/etc/nginx/

下記のRTMPサーバーブロックを直接使用すると、サーバーは問題なく起動します。しかし、のnginx.conf行からコメントを削除すると、次の ようになります。include /etc/nginx/sites-enabled/*;nginx.confsystemctl status nginx.service"nginx: [emerg] "rtmp" directive is not allowed here in /etc/nginx/sites-enabled/livestream:1

rtmp {
    server {
        listen 1935;
        chunk_size;

        application obs_output {
            live on:
            record off;
        }
    }
}

これらは、NGINX と RTMP モジュールをインストールするために従った 2 つのガイドです。

ここで何が起こっているのか、何かアイデアはありますか?

よろしくお願いします

答え1

rtmp {}ディレクトリ内からブロックを宣言することはできないと思います/etc/nginx/sites-enabled

デフォルトでは、/etc/nginx/sites-enabledディレクトリは既存のブロック内に含まれていますhttp {}。 を見るとこれを確認できます/etc/nginx/nginx.conf。ブロックrtmp内にブロックを含めることはできませんhttp。これらは同じレベルで宣言されるため、互いに分離する必要があります。

nginx includeあなたの設定に適合する可能性があるのは、ディレクトリ内からのものだけです/etc/nginx/modules-enabled

関連情報