CentOS7配置SRS服务及日志

最近将RTMP服务器转移到Linux平台下,同时也想使用下SRS服务器。但是SRS默认只提供了CentOS 6的RPM安装包,其他平台需自己编译,同时SRS也只提供了SysV方式的服务脚本,故在systemd架构下需要自己开发相对应的脚本,以下记录下本人在CentOS 7上安装配置SRS。

编译SRS

安装SRS按照官方的办法下载源码并编译即可,暂时别安装,如下

由于github的代码clone的非常慢,改用了码云的镜像了

git clone https://git.oschina.net/winlinvip/srs.oschina.git
cd srs.oschina/trunk
./configure && make

如果没有安装编译器,请使用YUM安装,如下

yum install -y gcc gcc-c++ automake

至此SRS已经编译完成,可以使用了。

配置安装

由于systemd有着sysv无法比拟的优势,虽然CentOS 7可以兼容,但是我打算采用systemd服务,因为不会直接进行 make install 安装。我打算安装到 /opt/srs 目录

mkdir /opt/srs
mkdir /opt/srs/bin
mkdir /opt/srs/conf
cp ./objs/srs /opt/srs/bin
cp ./conf/srs.conf /opt/srs/conf

日志我打算暂时先放到 /var/log 目录,编辑 SRS 配置文件 /opt/srs/conf/srs.conf

listen				1935;
max_connections 1024;
pid /opt/srs/srs.pid
srs_log_tank file;
srs_log_file /var/log/srs.log
daemon on;

http_api {
enable on;
listen 1985;
}

其中HTTP API如果不需要可以注释掉。

服务开发

systemd的服务文件在 /lib/systemd/system 下,命名基本都是 xxx.service ,新建一个 srs.service 文件,并输入以下内容

[Unit]
Description=SRS
Documentation=https://github.com/ossrs/srs/wiki/v2_CN_Home
After=network.target

[Service]
Type=forking
ExecStartPre=/opt/srs/bin/srs -t -c /opt/srs/conf/srs.conf
ExecStart=/opt/srs/bin/srs -c /opt/srs/conf/srs.conf
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -1 $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

reload详见官方WIKI https://github.com/ossrs/srs/wiki/v1_CN_Reload

开发完成之后,即可以启动服务并添加到开机启动

systemctl start srs.service
systemctl enable srs.service

上述命令可省略 .service ,如 systemctl status srs

日志转储

上面配置了SRS的日志记录方式为文件,还可以配置日志级别等。同时长时间运行,日志会非常大,因此需要进行日志分割转储。好在我们可以利用系统现有的日志转储分割机制进行,最简单的使用 logrotate 配合 cron 服务实现。

创建并编辑文件 /etc/logrotate.d/srs

/var/log/srs.log {
daily
copytruncate
nocompress
rotate 8
sharedscripts
postrotate
/bin/kill -1 `/bin/cat /opt/srs/srs.pid`
endscript
}

有其他需求看查询相关配置。测试正确性可手动执行 /usr/sbin/logrotate -vf /etc/logrotate.conf

上述配置为每日转储,文件名会添加日期,类似于系统日志文件,最多转储8个文件。

注意即使手动执行了转储,每日最多一回,原因是同名文件存在,可转移后再执行

最近的文章

用ffmpeg从MP4提取H264裸流

MP4的格式封装比较复杂,想取出来H264裸流比较麻烦,因此借助ffmpeg工具比较方便。通常一般都是使用ffmpeg进行编解码较多,但是当我们视频是H264编码时候,直接提取比较合适。 提取H264H264编码的MP4文件,使用ffmpeg提取相对比较方便,直接使用ffmpeg标准的媒体文件读取流 …

技术 继续阅读
更早的文章

FFMPEG推流摄像头

一般的直播网站都使用OBS推流,其实ffmpeg也可以推流,在无界面环境下就可以推流使用。本文以Windows下为例,简单介绍下使用ffmpeg工具推流的方法和步骤。 下载安装下载地址:https://ffmpeg.zeranoe.com/builds/ 选择版本(默认即可),选择自己系统架构,L …

技术 继续阅读