rtmp_socket_dir

`rtmp_socket_dir` 指令指定用于存储由 NGINX RTMP 模块使用的 RTMP 套接字文件的目录。

语法rtmp_socket_dir path;
默认值none
上下文main
参数1

说明

rtmp_socket_dir 指令定义了用于 RTMP 连接的 Unix 套接字目录的位置。在需要套接字通信的场景中(例如多线程服务器设置中不同的 worker 进程之间),这非常有用。定义后,每个 worker 进程将在该指定目录中创建套接字文件,从而允许并发的 RTMP 流处理,并通过高效的进程间通信获得更好的性能。

该目录路径应具有适当的权限(通常为 744),以允许 NGINX 的 worker 进程对套接字文件进行读写。如果未设置此指令,NGINX 可能会使用临时目录作为默认,或者性能可能不佳,因为 worker 进程可能无法创建或访问所需的套接字文件。

在配置此指令时,请确保路径有效且可访问,同时考虑 NGINX 用户权限以及可能存在的 SELinux 或 AppArmor 限制。合理的路径管理可以缓解处理 RTMP 流时的潜在问题,确保流媒体直播和转播的顺畅。

配置示例

rtmp {
    server {
        listen 1935;
        rtmp_socket_dir /var/run/nginx/rtmp;
        application live {
            live on;
        }
    }
}

确保指定的目录存在并为 NGINX 用户设置了适当的权限。

如果使用 SELinux 或 AppArmor,确保安全策略允许在指定目录中创建套接字文件。

错误设置此指令可能导致流发布或播放失败。

← 返回所有指令