1. 前言
服务器由
NGINX+RTMP
构成。
NGINX
是
HTTP
服务器,
RTMP
是附加模块。
其中
NGINX
我选择的是用
源码编译方式
进行安装,因为这种方式可以自定义安装指定的模
块以及最新版本。
在我们准备好系统环境之后,我们就需要开始安装 Nginx
了,安装
Nginx
我们需要先把他的
依赖给安装,然后下载相关的源码进行编译,最后执行编译安装
2. 安装 Nginx 依赖
在我们更新 apt
软件源完成之后,就可以安装
Nginx
等一些软件的依赖环境,执行的命令如
下所示
apt-get install -y libpcre3 libpcre3-dev libssl-dev zlib1g-dev gcc wget unzip vim make curl
安装的依赖软件有点多,会根据你的网速安装速度也不一样,命令执行之后,返回的信息如
下图所示
从上图中可以看到依赖已经安装完成,接下来我们开始安装nginx
,
nginx
不能使用
apt
安装,
需要源码编译安装才可以,因为需要我们编译一个模块进去
3.下载源码
我们首先将需要的模块下载下来,这里使用
nginx-rtmp-module
,而是使用
nginx-http-flv-module
来替代,因为后者是基于前者开发的,前者拥有的功能后者都有,后
者是国内的开发开发,有中文文档,所以就采用它了,首先将它下载下来并解压,执行的命
令如下所示
wgethttps://github.com/winshining/nginx-http-flv-module/archive/master.zip
然后,解压:
命令执行之后,返回的信息如下图所示
从上图中可以看出已经下载并解压完成, 接着我们还需要下载 nginx 本身的源码, 下载 Nginx
源码并解压的命令如下所示
wget http://nginx.org/download/nginx-1.17.6.tar.gz
然后解压:
tar -zxvf nginx-1.17.6.tar.gz
4. 编译安装
接着我们进入编译安装环节,首先进入刚才解压的 nginx
目录当中,执行的命令如下所示
cd nginx-1.17.6 && ls
命令执行之后,返回的信息如下图所示
从上图中可以看到解压出来的目录结构,我们执行./configure
便可以配置编译参数,这个地
方我们需要将刚才下载的插件
nginx-http-flv-module
加入进来
,
执行的命令如下所示.
./configure --add-module=../nginx-http-flv-module-master
命令执行之后,返回的信息如下图所示
在上图中可以看到准备编译已经完成,但在编译的过程当中有可能会出现一些意外因素,
nginx
默认编译非常严格,只要遇到一些意外就会中断编译
,因此我们将一些非致命的意外
设置为警告模式,执行命令如下所示
vim objs/Makefile
在当前文件夹下有一个 objs/Makefile
文件,我们将里面的
-Werror
删除
,用
vim
打开文件后
如下所示
删除之后,保存并退出,接着就可以进行编译 Nginx
了,编译的过程稍微有点长,执行的命
令如下所示
make && make install
安装命令执行之后,返回的信息如下图所示
在上图中可以可以看到安装过程大致执行了哪些命令,安装完成后接下来需要进行一些简单
的配置就可以使用了
5.配置 rtmp 服务
在完成 Nginx 的安装之后,我们需要对 Nginx 进行一番配置,并启动 Nginx 服务
我们直接使用 vim 命令去编辑 Nginx 的配置文件,执行命令如下所示 vim /usr/local/nginx/conf/nginx.conf 预览 vim 命令执行之后,打开的编辑窗口如下所示
我们将以下配置信息复制并粘贴到配置文件信息里面,放在 http
配置上面
rtmp {
#RTMP
服务
server {
listen 1935;
#//
服务端口
chunk_size 4096;
#//
数据传输块的大小
application live1{
#
这个是“直播”
live on;
#//
视频文件存放位置。
}
application hls1{
#
这个是“
HLS
直播”
live on;
#//
视频文件存放位置。
hls on;
hls_path /usr/local/ngingx/html/hls1;
#
注意:需要手工创建
/tmp/hls
目录,
mkdir -p /tmp/hls
}
application vod {
#
这个是“点播”
play /opt/video/vod;
#//
视频文件存放位置。
}
}
}
6.验证配置
粘贴完成并保存之后,我们在终端执行 nginx -t
命令,
来测试一下配置文件是否有异常
,执
行命令如下所示
/usr/local/nginx/sbin/nginx -t
命令执行之后,返回的信息如下图所示
在上图中可以看出 Nginx
提示我们配置文件没有异常,说明我们配置没有语法错误,我们启
动一下
Nginx
,执行命令如下所示:
/usr/local/nginx/sbin/nginx
如果 80
端口已经被
apache
占用, 可以 kill
掉
apache
的进程, 或者将 nginx
的端口改为
8000. 将 http
下的
server
下的
listen
改为
8000
即可,截图如下:
验证 nginx
是否成功启动, 打开 window10 的
chrome
,输入
http://192.168.0.104:8000
注意:我这里的
ip
是
192.168.0.104
,
nginx
端口是
8000
,请改成您自己的
ip
和端口。