在Centos7上搭建Nginx+rtmp服务器

在VPS服务器上配置一个直播环境,在iOS客户端实现推流到直播服务器,通过VLC播放器实现拉取服务器上的流观看直播。

效果图

Demo_01

Centos7上搭建Nginx+rtmp服务器

今天第一次在Centos7上搭建Nginx+rtmp服务器,以前在Mac上成功搭建,所以今天想在Centos7上试一试,在此记录一下,过程还是比较顺利。

(1)准备需要的模块及工具(nginx-rtmp-module,openssl和git)

1.使用yum安装git

[root~]# yum -y install git

2.下载nginx-rtmp-module,官方github地址

// 通过git clone 的方式下载到服务器上
[root~]# git clone https://github.com/arut/nginx-rtmp-module.git

3.yum 安装 openssl

[root~]# yum -y install openssl openssl-devel

(2)安装Nginx服务器。官网地址

1.下载Nginx解压,并添加rtmp和openssl支持

//这里我安装的是 nginx-1.10.3 版本
[root~]# wget http://nginx.org/download/nginx-1.10.3.tar.gz
[root~]# tar -zxvf nginx-1.10.3.tar.gz
[root~]# cd nginx-1.10.3
//添加rtmp和openssl支持
[root~]# ./configure --add-module=/替换为自己的安装路径(path/to)/nginx-rtmp-module --with-http_ssl_module
[root~]# make && make install

2.如果已经安装过Nginx,只需要找到Nginx源码目录添加rtmp的支持即可。

1.查看当前安装的Nginx版本
[root~]# /usr/local/nginx/sbin/nginx -v
查询结果:nginx version: nginx/1.10.3
2.再使用find命令查找其位置
[root~]# find / -name nginx-1.10.3
查询结果:/root/nginx-1.10.3
3.cd到查询到的源目录
[root~]# cd  /root/nginx-1.10.3
4.添加rtmp的支持(如果看到一个绿色的 configure 文件就说明查找对了)
[root~]# ./configure --add-module=/替换为自己的安装路径(path/to)/nginx-rtmp-module
[root~]#  make && make install
5.启动nignx
[root~]# /usr/local/nginx/sbin/nginx

这样nginx和rtmp模块就安装完成了,此时在浏览器中打开 自己的ip地址或者绑定的域名:8080

安装成功

如果终端上出现了:

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)

nginx: [emerg] still could not bind()

则表示8080端口被占用了,查看端口PID

[root~]# lsof -i tcp:8080

根据端口PID, kill掉(这儿的9603换成你自己8080端口的PID)

[root~]# kill 9603

然后重新执行

[root~]# /usr/local/nginx/sbin/nginx

(3)修改Nginx的配置文件nginx.conf

使用vim命令打开 nginx.conf,输入 i 进入编辑状态

[root~]# vim /usr/local/nginx/conf/nginx.conf

直接滚到最后一行, 在最后一个}(即最后的空白处, 没有任何{})后面添加

# 在http节点后面加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application rtmplive {
            live on;
            record off;
        }
    }
}

最后一步保存退出,并重启nginx

[root~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

(4)安装FFmpeg

1.安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持

[root~]# yum install -y epel-release

如果出现缺少Code提示,可以:

[root~]# sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

安装完成之后,可以查看是否安装成功

[root~]# yum repolist

2.安装Nux-Dextop源

导入一个Code

[root~]# sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

安装nux-dextop 源

[root~]# sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

3.使用yum ffmpeg,这个安装耗时可能较长。

[root~]# yum install -y ffmpeg

安装完成后检查ffmpeg 版本

[root~]# ffmpeg -version

如果看到这样的信息,表示安装成功

版本信息.png

这样服务器就完全配置好了,剩下的工作就是通过VLC实现拉流观看直播,通过iOS客户端推流到服务器。

快速集成iOS直播推流

这里的直播推流我使用的是优酷土豆旗下来疯直播开源的iOS推流框架LFLiveKit,是用OC写的,文档注释很详细,很适合学习。

使用LFLiveKit快速集成iOS直播推流

直接从GitHub上下载LFLiveKit,里面有简单的Demo,真机运行提供的Demo,将Demo中的 **stream.url ** 替换为自己的地址即可。

直播推流地址:

rtmp://www.自己的域名或者ip地址:1935/rtmplive/room(room可以自己命名,但是必须与VLC中拉流地址一致)

使用VLC观看推流到服务器的直播视频

将视频推流到服务器后,打开VLC,然后File->open network->输入:

rtmp://www.自己的域名或者ip地址:1935/rtmplive/room(必须与iOS端的推流地址一致)

总结

总体来说,在Centos7上搭建Nginx+rtmp直播测试环境还是比较简单,如果需要投入到生产中去,还是比较复杂的,需要专业的后台人员搭建专业的直播环境并维护。不过现在有很多成熟完善的第三方直播提供商,环境搭建和集成都有详细文档,例如:七牛,腾讯云等等。

作者:MichleMin
链接:https://www.jianshu.com/p/4ed63b041bd9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

原文地址:https://www.cnblogs.com/caicaizi/p/10241817.html

时间: 2024-08-04 05:34:03

在Centos7上搭建Nginx+rtmp服务器的相关文章

mac 教你如何在Mac上搭建自己的服务器——Nginx

WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu. WHY 为什么要搭建自己的服务器呢. 好处肯定多多,这儿说一条--模拟数据. 很多时候,我们在前端开发的过程中,API接口没有做好. 当我们要铺界面时,如果等待API的开发完成,无疑是件很耽误工作的事情. 还有一点,即使API完成了,我们开发完项目时,需要自测各种极限的数据.例如 约定好返回的是

教你如何在Mac上搭建自己的服务器——Nginx

原帖地址:https://blog.csdn.net/qq_22383951/article/details/53019034 WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器.   我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透.   有兴趣的朋友可以自行google或者baidu. WHY 为什么要搭建自己的服务器呢.   好处肯定多多,这儿说一条--模拟数据.     很多时候,我们在前端开发的过程中,API接口没有做好.   当我们要铺

CentOs上搭建nginx

CentOs上搭建nginx 标签(空格分隔): nginx ? 版权声明:本文为博主原创文章,转载请注明出处 本文内容仅为个人理解,不保证完全正确 [TOC] 1. 在root环境下安装nginx 1.1 常用工具安装 yum -y install wget httpd-tools vim 1.2 关闭iptables规则 iptables -F iptables -t nat -F 1.3 关闭SELinux setenforce 0 1.4 安装C/C++环境和PCRE库 yum -y i

CentOS 7 上搭建nginx 1.6

准备要素,编译环境,创建组,创建被service所管理的脚本,两种隐藏版本方法,实现主进程用root创建 子进程有nginx 创建,图片缓存时间 在最新的centos7.3上搭建nginx 1.6. 安装需要的环境 yum install gcc gcc-c++ pcre-devel zlib-devel -y yum install elinks -y 创建用户组 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ cd /opt/nginx-

linux,centos7上搭建LVS负载均衡

在linux,centos7上搭建LVS负载均衡 实前准备 准备五台虚拟机 四台centos7 一台做调度 一台做nfs缓存 两台做wed群集 一台windows7 开始逐个配置 配置nfs服务器(centos7在用的时候是在线下载源代码包但是为了做实验先把源代码用yum安装好后改为仅主机模式) IP:192.168.10.174 用rpm -q nfs-utils查看有没有安装 rpcbind (远程过程调用) 编辑配置文件 [[email protected] ~]# vim /etc/ex

搭建Nginx图片服务器

搭建Nginx图片服务器 Part-I 安装Nginx 安装PCRE 下载 ngx_cache_purge 并解压,用来清除缓存 下载Nginx并解压 cd nginx-1.7.7 编译,--prefix使用默认值,则nginx安装在/usr/local/nginx ./configure --user=www --group=www --add-module=../ngx_cache_purge-1.0 --with-http_stub_status_module --with-http_ss

在Centos7上搭建局域网的yum源仓库

1.#输入命令rmp -q -vsftpd,查看是否安装了该包. 2.#创建挂载点,把光盘挂载到该点 3.#使用命令用rpm-ivh 安装vsftpd安装包 4.#启动vsftpd服务,设为下次开机启动. 5.#输入ifconfig,找到自己的局域网地址,看是否连接超时,如果超时就是没关闭防火墙的原因,那么就关闭防火墙.(学习环境中关闭防火墙就行了,不支持实际工作环境中关闭). 6.#用浏览器访问自己的局域网地址 ,会出现以下页面,说明ftp服务配置成功. 7.#创建文件夹,将CentOS7安装

基于centos 7搭建Nginx网站服务器(包含虚拟web主机的配置)

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx. Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生

Centos 7搭建Nginx网站服务器及配置虚拟主机

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪.网易.腾讯,另外知名的微网志Plurk也使用nginx. Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性: 高并发连接:官方测试能支撑5万并发连接,在实际生