NGINX RTMP가 사이트 지원 디렉터리 세트에서 작동하지 않습니다.

NGINX RTMP가 사이트 지원 디렉터리 세트에서 작동하지 않습니다.

sites-availableRTMP 서버 블록이 (에 연결된 기호 ) 내부 파일 내에서 사용될 때 RTMP 모듈과 함께 NGINX를 시작하는 데 문제가 있습니다 sites-enabled. NGINX 구성 파일은 모두 /etc/nginx/.

에서 아래 RTMP 서버 블록을 직접 사용하면 nginx.conf서버가 완벽하게 시작됩니다. 그러나 include /etc/nginx/sites-enabled/*;의 줄에서 주석을 제거하자마자 다음 과 같이 돌아옵니다 nginx.conf. systemctl 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 모듈을 설치하기 위해 따라온 두 가지 가이드입니다.

여기서 무슨 일이 일어나고 있는지 어떤 아이디어가 있습니까?

미리 감사드립니다.

답변1

rtmp {}나는 당신이 디렉토리 내에서 블록을 선언할 수 있다고 믿지 않습니다 /etc/nginx/sites-enabled.

기본적으로 /etc/nginx/sites-enabled디렉터리는 기존 http {}블록 내에 포함됩니다. 를 보면 이를 확인할 수 있습니다 /etc/nginx/nginx.conf. 블록 rtmp내에서는 블록을 가질 수 없으며 http, 동일한 수준에서 선언되므로 서로 분리되어야 합니다.

nginx include귀하의 구성에 맞는 유일한 것은 /etc/nginx/modules-enabled디렉토리 내에 있습니다.

관련 정보