ubuntu下载安装nginx+nginx-rtmp-module
ubuntu环境:nginx+rtmp下载安装搭建
- 下载安装包
- nginx
- pcre
- zlib
- openssl
- nginx-rtmp-module
- 安装nginx
- 解压压缩包
- 安装nginx
- 测试nginx
- 复制文件
- 修改nginx的参数
- rtmp模块
- http模块
下载安装包
nginx
Nginx是一款轻量级服务器/反向代理服务器及电子邮件代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强。
wget http://nginx.org/download/nginx-1.10.3.tar.gz
pcre
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括Perl兼容的正则表达式库。这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用pcre来解决C语言中使用正则表达式的问题。
wget https://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz
zlib
zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。
wget http://zlib.net/zlib-1.2.11.tar.gz
openssl
在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上
wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
nginx-rtmp-module
RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。这个协议建立在TCP协议或者轮询HTTP协议之上,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种它有多种变种:
- RTMP工作在TCP之上,默认使用端口1935;
- RTMPE在RTMP的基础上增加了加密功能;
- RTMPT封装在 HTTP请求之上,可穿透防火墙;
- RTMPS类似RTMPT,增加了TLS/SSL的安全功能;
为了使得nginx变为支持rtmp流媒体服务器,所以需要下载nginx-rtmp-module。
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
安装nginx
解压压缩包
首先,解压四个安装包。
xxxx.tar.gz的压缩包,解压命令为:
tar -zxvf xxxx.tar,gz
xxx.zip的压缩包,解压命令为:
unzip xxxx.zip
解压完成后,你会拥有5个文件夹。名称分别为:
- nginx
- pcre-8.40
- zlib-1.2.11
- openssl-1.0.2k
- nginx-rtmp-module-master。
以上依赖的包(pcre、openssl、zlib)不需要安装,只需要解压即可。老版本的Nginx都是要安装,但是试下来不行,make的时候会报错。
安装nginx
./configure --prefix=/xxx/你希望nginx安装在哪里,就写哪里的路径名称/xxx/nginx --with-pcre=/xxx/pcre文件夹的位置/pcre-8.40 --with-zlib=/xxx/zlib文件夹的位置/zlib-1.2.11 --with-openssl=/xxx/openssl文件夹的位置/openssl-1.0.2k --add-module=/xxx/nginx-rtmp-module文件夹的位置/nginx-rtmp-module-master
【上面这个长长的指令就是下面这个】
./configure
–prefix=/xxx/你希望nginx安装在哪里,就写哪里的路径名称/xxx/nginx
–with-pcre=/xxx/pcre文件夹的位置/pcre-8.40
–with-zlib=/xxx/zlib文件夹的位置/zlib-1.2.11
–with-openssl=/xxx/openssl文件夹的位置/openssl-1.0.2k
–add-module=/xxx/nginx-rtmp-module文件夹的位置/nginx-rtmp-module-master
make
make install
测试nginx
cd /nginx安装的文件夹/nginx/
./sbin/nginx
如果遇到(98:address already in use),则查看端口占用情况:
sudo netstat -apn | grep 80
查看占用端口的进程:
ps -ef | grep 进程(例如:abcdef)
之后杀死进程:
sudo kill -9 abcdef
如果可以确定是Nginx自己占了端口,则可以使用
./sbin/nginx -s stop
杀死进程
在浏览器中输入:localhost,看到以下内容说明成功了。
复制文件
将nginx-rtmp-module-master文件夹下的stat.xsl复制到nginx文件夹
cp /你自己的地址/nginx-rtmp-module-master/stat.xsl /你自己的地址/nginx
修改nginx的参数
sudo vim /nginx的目录/conf/nginx.conf
可以参考好多网页,比如:
https://www.cnblogs.com/zx-admin/p/5783523.html
https://www.cnblogs.com/boonya/p/8022117.html
贴一份我自己的nginx.conf文件部分内容。实现的作用:
- 支持rtmp与hls直播拉流观看
- 一边直播一边存储
rtmp模块
# 配置RTMP模块
rtmp { # server里存放服务器的实例。存放了application.server { listen xxxx; # 监听端口为xxxxchunk_size 8192; # 数据块大小8192。chunk_size的默认值是4096#rtmp直播application liveI { # 应用名称live on; # 直播开启(on)allow publish all; # 允许所有的推流allow play all; # 允许所有的拉流#hlshls on;wait_key on;hls_path /xxx/xxx/liveI; #假设这个地址记为【地址a】hls_fragment 3s;hls_playlist_length 15s;hls_continuous on;hls_cleanup on;# 视频存储recorder rec1{record_path /xxxx/xxx/liveI; # 存储路径record all; # 录制所有record_suffix -%Y-%m-%d-%H_%M_%S.flv; # 录制文件的文件名称:年-月-日-时-分-秒}}application liveII { # 应用名称live on; # 直播开启(on)allow publish all; # 允许所有的推流allow play all; # 允许所有的拉流#hlshls on;wait_key on;hls_path /xxx/xxx/liveII;#假设这个地址记为【地址b】hls_fragment 3s;hls_playlist_length 15s;hls_continuous on;hls_cleanup on;# 视频存储recorder rec2{record_path /xxx/xxx/liveII; # 存储路径record all; # 录制所有record_suffix -%Y-%m-%d-%H_%M_%S.flv; # 录制文件的文件名称:年-月-日-时-分-秒}}
http模块
http {##### 省略了前面的部分 ###server {listen 8000;server_name localhost;#charset koi8-r;#监控页面location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /nginx文件夹的位置/nginx/; }###hls location /liveI {# Serve HLS fragmentstypes {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}alias /xxx/xxx/liveI; #此处填写【地址a】 expires -1;}location /liveII {# Serve HLS fragmentstypes {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}alias /xxx/xx/liveII; #此处填写【地址b】 expires -1;}
### 省略了后面的部分 ###
}
之后重启Nginx
./sbin/nginx -s reload
之后在网页输入localhost/stat,可看到监控页面:
这是一个监视页面,可以监视服务器的状态。
统计表各属性说明为:
- clients:连接数
- live streams:流名
- codec:编码
- bits:分辨率
- size:视频画面大小
- fps:每秒传输帧数
- freq:音频率
- chan:音频声道
- State:流状态
- Time:流活动时间
ubuntu下载安装nginx+nginx-rtmp-module相关推荐
- Nginx在阿里云的下载安装以及Nginx常见的命令及配置文件
Nginx在阿里云的下载安装以及Nginx常见的命令及配置文件 首先对于在阿里云如何下载安装nginx,我试了很多的方式都失败了,最终发现这样的方式是可以成功下载并安装的. 下载安装: 第一步:安装编 ...
- ubuntu16.04 wget java_linux centos ubuntu下载安装JDK wget方式下载JDK
linux centos ubuntu下载安装JDK wget方式下载JDK 本文以jdk_8u162为例 切换到源码目录 cd /usr/local/src/ wget方式下载JDK官方最新包 wg ...
- 更换ubuntu软件源为阿里源,解决ubuntu下载安装软件慢的问题并安装open-vm-tools和open-vm-tools-desktop
*************** 一.更换ubuntu软件源为阿里源,解决ubuntu下载安装软件慢的问题 1.打开终端(快捷键ctrl+alt+t),输入cd /etc/apt并回车 2.输入sudo ...
- Ubuntu 下载安装NVIDIA显卡驱动
Ubuntu 下载安装NVIDIA rtx3060(Laptop)驱动 文章目录 Ubuntu 下载安装NVIDIA rtx3060(Laptop)驱动 前言 一.官网下载驱动 二.安装 1. 2. ...
- ubuntu下载安装一条龙服务
ubuntu下载安装教程 (1)Ubuntu官方下载 (2)Ubuntu安装 (3)安装VMware工具 (1) Ubuntu官方下载 1.点击Ubuntu官网,进入官方界面,如图所示: 2.点击Do ...
- Docker下载安装运行Nginx服务
文章目录 下载安装 在 Docker 中使用镜像 运行 Docker 容器 Docker运行Nginx 1.获取Nginx镜像 2.运行Nginx容器 下载安装 https://docs.docker ...
- ubuntu下安装配置nginx,搭配web服务器,将8000端口转发到80端口
1.更新软件源 重点,否则会报安装失败 sudo apt-get update 2.安装nginx sudo apt-get install nginx 安装好的文件位置: /usr/sbin/ngi ...
- Ubuntu下载安装EDB1.3.0 2021.07
Ubuntu16.04x64下载安装EDB1.3.0 2021.07 1.更新gcc和g++ > 7 $ sudo add-apt-repository ppa:ubuntu-toolchain ...
- linux ubuntu/deepin安装tengine(nginx增强版)2.3.2
下载地址: http://tengine.taobao.org/download.html#安装依赖 zxl@debian:~/develop/tengine-2.3.2$ sudo apt-get ...
- ubuntu nginx php7,ubuntu 16 安装php7+nginx
sudo apt-get install nginx cd /etc/nginx/sites-enabled vi /etc/nginx/sites-available/default(配置文件就是这 ...
最新文章
- 2018 中国开源年度报告发布,阿里系独占鳌头
- Android多线程分析之三:Handler,Looper的实现
- 银行停贷、涨息、排队,8月不贷只能等明年
- 云计算构建基石之Hyper-V:虚拟机管理
- java excel添加公式_Java添加、读取Excel公式
- C#可视化编程技术总结:制作可视化窗体软件
- python反编译exe
- Mybatis源码详细分析(最新最全)
- weblogic10.3.6安装漏洞补丁
- 小米手机(MIUI 13)安装Fiddler CA证书
- 基于SSM+Vue的手机商城销售系统项目
- 基于线程池实现多线程任务
- 脱口而出的 “ 感谢的语言 ”
- Markdown中如何实现内容折叠操作
- Git使用中的一些常用小技巧
- 一次悲惨的被挖矿经历
- 一碗阳春面(一碗清汤荞麦面)
- perl-dbd-mysql qt_perl 安装DBI和DBD
- 设计模式(JAVA)
- 论文查重字数和重复率有什么关系吗?
热门文章
- 自己动手写个狗屁不通文章生成器!输入标题即可生成文章!
- rx584白牌救砖心得
- 手机远程控制软件和开源框架
- dw1560_【兵哥小课堂】Big Sur安装情况汇总以及DW1820A/DW1560在Big Sur中的正确插入姿势...
- c语言输出最小值流程图,C语言实用程序设计100例流程图
- oracle日期加一天的函数,关于oracle日期函数的介绍和使用
- isis安装指南(Liunx版本)+ ASP
- C# 文件与Base64的相互转换
- 机器学习算法(八):基于BP神经网络的预测(乳腺癌分类实践)
- 网络安全问题及防护措施有哪些