Srs支持reload,也就是可以不中断服务进行配置的更改,基于此,可以不中断服务扩展源站或者edge。
配置项:
# 是否开启后台
daemon off;
# 是否通过inotify自动加载
inotify_auto_reload on;
如果服务器支持使用inotify_auto_reload,则配置文件替换更新后直接生效,无需调用命令行进行手动reload此时如果srs使用srs.conf配置文件,则替换该文件即可。
如图,我们的服务器支持inotify。
(1) srs不支持热加载的情形:
(a) 是否后台启动,开启后导致reload失效。
(b) 修改vhost的模式,即vhost是源站还是边缘,或者说源站与边缘站相互切换时不支持reload。
(2) 使用方法:
(a) 支持inotify,改配置文件即可。
(b) killall -1 srs或者kill -1 进程号
(c) 启动脚本: /etc/init.d/srs reload
(3) 实操结果:
(a) 更改hls开关配置,服务未中断即生效。
(b) 新增源站,服务未中断即生效。(扩展源站,需更改源站集群中的coworkers和edge集群中的origin配置)
(c) 新增edge,服务未中断即生效。(扩展edge本就无需更改已有的源站+edge的配置。)