centos7-SRS流媒体系统服务搭建
有时候启动没有问题,但是就是看不了,原因是防火墙和selinux开着
初始化系统selinux、firewalld策略
设置selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
设置firewalld策略(关闭防火墙)
systemctl stop firewalld
systemctl disable firewalld
# yum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F && service iptables save
安装依赖环境
yum install cpp libgcc glibc-devel glibc zlib zlib-devel libgomp
yum install flex byacc libpcap libpcap-devel ncurses ncurses-devel
yum install gcc gcc-c++ autoconf automake
yum install gcc 必须安装 需要编译
下载源码,推荐用CentOS7系统
git clone -b 4.0release https://gitee.com/ossrs/srs.git
如果centos服务没 git 需要安装
yum install git
编译安装
注意需要切换到srs/trunk
目录
cd srs/trunk
./configure
make && make install
注:一般情况下,播放的地址与网站存在SRS跨域播放问题 可以按下面方案解决此问题 在此之前,千万一定不要执行编译!
#cd srs/trunk #vi src/app/srs_app_http_stream.cpp #在w->header()->set_content_type("video/x-flv");下一行添加代码 w->header()->set("Access-Control-Allow-Origin","*");
然后直接编译安装SRS
启动命令
/usr/local/srs/objs/srs -c /usr/local/srs/conf/srs.conf
其他命令
停止 /usr/local/srs//etc/init.d/srs stop
重启 /usr/local/srs//etc/init.d/srs restart
SRS作为系统服务启动
链接安装目录的/usr/local/srs//etc/init.d/srs
到/etc/init.d/srs
如我本地:ln -s /usr/local/srs//etc/init.d/srs /etc/init.d/srs
systemctl服务开机自启动
sudo ln -sf /usr/local/srs/etc/init.d/srs /etc/init.d/srs &&
sudo cp -f /usr/local/srs/usr/lib/systemd/system/srs.service /usr/lib/systemd/system/srs.service && sudo systemctl daemon-reload && sudo systemctl enable srs
参考:https://github.com/ossrs/srs/wiki/v3_CN_LinuxService
https://www.cnblogs.com/Pan-xi-yi/p/11970135.html