直播系统开发:基于Nginx与Nginx-rtmp-module - (EPUB全文下载)
文件大小:1.04 mb。
文件格式:epub 格式。
书籍内容:
直播系统开发:基于Nginx与Nginx-rtmp-module
第1章 Nginx基础
第2章 Nginx-rtmp-module基础
第3章 Nginx-rtmp-module进阶
第4章 Nginx-rtmp-module应用
第5章 Android端解决方案
第6章 iOS端解决方案
第7章 Web端解决方案
反侵权盗版声明
第1章 Nginx基础
近几年,直播行业越来越火爆,本书主要介绍开源的直播软件——Nginx-rtmp-module。Nginx-rtmp-module依赖于Nginx,以第三方模块的方式提供直播功能。本章主要介绍Nginx,包括什么是Nginx,为什么选择Nginx,在特定的环境下如何安装和配置Nginx,以及如何使用Nginx,最后介绍Nginx模块的概念。
1.1 Nginx概述及作用
Nginx同Apache、Tomcat一样,是一种服务器软件。它是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。因此,使用Nginx可以搭建网站,也可以实现负载均衡的功能,还可以作为邮件代理服务器来接收和发送邮件。Nginx 1.9.0以后的版本还可以作为通用的TCP/UDP代理服务器,也可以提供一定的缓存服务功能。
1.1.1 可作为Web服务器
Nginx还是一个高性能的HTTP Web服务器(Web服务器还有Apache、IIS等),它包含了基本的HTTP功能和拓展功能,可以先通过动态/静态内容分离,而后为静态内容(HTML/CSS/JaveScript/图片等)提供HTTP访问功能;而动态内容可以整合代理模块,代理给上游服务器,以支持对外部程序的直接调用或者解析,如FastCGI支持PHP。
1.1.2 可作为反向代理服务器
代理服务器分为正向代理服务器和反向代理服务器。
1.正向代理服务器
正向代理服务器是一个位于客户端与原始服务器之间的服务器。为了从原始服务器中取得数据,客户端向代理服务器发送请求并指定目标(原始服务器),然后,代理服务器向原始服务器转交请求,并将获得的内容返回客户端。
正向代理服务器一般作用在客户端,并且在客户端需要进行相关配置,如图1-1所示。
图1-1
2.反向代理服务器
反向代理服务器作用在服务器端,它在服务器端接收互联网中的连接请求,然后将请求转发给内部网络中的服务器,并将从服务器中得到的结果返回给互联网中请求连接的客户端,如图1-2所示。
反向代理对外是透明的,在客户端不需要任何配置,所以,访问者并不知道自己访问的是一个反向代理服务器。
图1-2
Nginx就是一个反向代理服务器。
反向代理服务器针对Web服务器提供加速功能,所有外部网络要访问服务器的请求都要通过它。反向代理服务器负责接收客户端的请求,然后到源服务器上获取内容,把内容返回给用户,并把内容保存在本地中,以便日后再收到同样的信息请求时,将本地缓存中的内容直接发给用户,以减少后端Web服务器的压力,提高响应速度。因此,Nginx还具有缓存功能。
3.反向代理服务器实现负载均衡
Nginx可通过反向代理服务器来实现负载均衡,以优化网站的负载,如图1-3所示。
图1-3
1.1.3 可作为邮件代理服务器
Nginx可被部署成邮件代理服务器,最早开发Nginx的目的之一就是将其作为邮件代理服务器。
1.2 为什么选择Nginx
Nginx有着高并发、性能好和占用内存少等特点,其安装简单,配置文件简洁,启动容易,能长时间不间断运行,还能在不间断服务的情况下升级软件版本,而且成本低。这些优点使得Nginx的应用越来越普遍。
1.高并发、性能好、占用内存少和稳定
作为Web服务器,相比Apache,Nginx占用内存更少,支持的并发连接更多,使用效率更高,并且Nginx要比Apache更“轻量”,性能更好。
2.功能强大
Nginx提供了大量的功能模块,支持诸多特性,应用场景也多,可作为Web服务器、反向代理服务器,也可作为邮件服务器等。
3.拓展性高
Nginx的模块化设计极具拓展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成的。因此,当对某一个模块进行缺陷修复或升级时,可以专注于模块自身,而不会影响其他模块。
这种低耦合度的设计,使得Nginx具有数量庞大的第三方模块。当然,这些公开的第三方模块也如Nginx官方发布的模块一样易用。
4.其他优点
Nginx的其他优点介绍如下。
· 跨平台:Nginx可以在UNIX、Linux、OS系统中编译运行,而且也有Windows的移植版本。
· 占用内存小:10 000个非活动HTTP保持连接,占用大约2.5MB的内存。
· 配置/操作简单:Nginx安装简单,配置文件简洁,易上手。
· 网络依赖性低:理论上只要能够通过ping就可以实施负载均衡,而且可以有效区分内网、外网流量。
· 支持内置服务器检测:Nginx能够根据服务器处理页面返回的状态码、超时信息等,检测服务器是否出现故障,并及时返回错误的请求,重新提交到其他节点上。
1.3 安装Nginx
Nginx可以在不同的操作系统、不同的环境中安装。本节以CentOS 6.9操作系统为例,介绍Nginx的安装和相关配置。
使用Yum安装rpm包的方式比编译安装的方式简单很多,其默认会安装许多模块,但缺点是以后再安装第三方模块时比较麻烦,所以,这里使用编译安装的方式安装Nginx。
1.3.1 选择安装版本
在Nginx官网中可下载Nginx安装包,其中提供了3个版本:Mainline version、Stable version和Legacy versions。
Mainline version是Nginx目前在主力研发的版本。Stable version是最新的稳定版本,是生产环境中建议使用的版本。Legacy versions是稳定的老版本。
这里选择Stable version版本:nginx-1.12.2.tar.gz。安装环境是 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 直播系统开发:基于Nginx与Nginx-rtmp-module - (EPUB全文下载)