rtmp_socket_dir
`rtmp_socket_dir` 指令指定用于存储由 NGINX RTMP 模块使用的 RTMP 套接字文件的目录。
NGINX RTMP module
·
main
语法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,确保安全策略允许在指定目录中创建套接字文件。
⚠
错误设置此指令可能导致流发布或播放失败。