使用 nginx 和 nginx-rtmp 搭建流媒体服务器

实验环境:root@bjphp2:/usr/local/nginx/conf# cat /etc/issue

Ubuntu 14.04.5 LTS \n \l

实验目的:安装nginx1.9.9版本,通过修改配置文件,取代旧版本的nginx,并增加nginx-rmtp模块,搭建流媒体服务器

安装步骤:此处我选择在/usr/local目录下进行安装

root@bjphp2:/usr/local/nginx/conf# cd /usr/local/ 

下载依赖--pcre库(perl兼容正则表达式)

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

tar zxvf pcre-8.40.tar.gz

下载安装zlib库--(zlib 是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。zlib 也支持读写 gzip (.gz) 格式的文件。)

wget http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz

tar zxvf zlib-1.2.8.tar.gz

下载nginx1.9.9版本

wget http://nginx.org/download/nginx-1.9.9.tar.gz

tar zxvf nginx-1.9.9.tar.gz

下载nginx-rtmp模块

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

unzip master.zip

进入nginx1.9.9目录,编译安装nginx

root@bjphp2:/usr/local/nginx/conf# cd nginx-1.9.9/

./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-pcre=../pcre-8.40 --with-zlib=../zlib-1.2.8 --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --add-module=../nginx-rtmp-module-master

make

make install

注:关于各个配置参数的备注说明

--prefix=/usr/local/nginx # 配置 nginx 安装目录, 默认位置在 /usr/local/nginx

--pid-path=/var/run/nginx.pid # 配置 pid 文件位置, 默认在 logs 目录

--lock-path=/var/lock/nginx.lock # 配置 lock 文件位置, 没人在 logs 目录

--with-http_ssl_module # 开启 http ssl 模块, 以支持 https 请求

--with-http_dav_module # 开启 WebDAV 扩展动作模块, 可以为文件和目录指定权限

--with-http_flv_module # 支持对 flv 文件的拖动播放

--with-http_realip_module # 支持显示真实来源的 ip 地址

--with-http_gzip_static_module # 在预压缩文件前做检查, 以免重复压缩

--with-http_stub_status_module # 取得 nginx 运行状态

--with-mail # 允许 pop3/imap4/smtp 代理模块

--with-mail_ssl_module # 允许 pop3/imap4/smtp 使用 ssl/tls

--with-pcre=../pcre-8.37 # 这里是未安装的 pcre 库路径, 即刚才解压的路径

--with-zlib=../zlib-1.2.8 # 这里是未安装的 zlib 库路径, 即刚才解压的路径 

--with-debug # 开启调试日志

--http-client-body-temp-path=/var/tmp/nginx/client # 客户端请求临时位置

--http-proxy-temp-path=/var/tmp/nginx/proxy # 设置 http proxy 临时文件路径

--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi # 设置 http fastcgi 临时文件路径

--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi # 设置 uwsgi 临时文件路径

--http-scgi-temp-path=/var/tmp/nginx/scgi # 设置 scgi 临时文件路径 

--add-module=../nginx-rtmp-module-master # 安装 nginx-rtmp 模块, 路径为刚才解压的位置

修改nginx的配置文件nginx.conf,在文件末尾添加对rtmp协议的配置

root@bjphp2:/usr/local/nginx/conf# cd /usr/local/nginx/conf/

root@bjphp2:/usr/local/nginx/conf# cp nginx.conf nginx.conf.bak   //做备份

root@bjphp2:/usr/local/nginx/conf# vim /usr/local/nginx/conf/nginx.conf

文件末尾添加如下

rtmp {
    listen 1935;
    chunk_size 4096;


    application live {
        live on;
        record off;
    }
}

注:注意要放在文件的根位置, 不要写在 http 的花括号中.

对比旧版nginx的配置文件,对nginx1.9.9的配置文件进行修改

每个公司的nginx配置文件都不一样,这里就不详细写了,视情况而定。主要是围绕配置文件nginx.conf,default等。

新旧nginx更替注意端口问题,更改端口号或只运行一种版本皆可。

参考:http://crafteverywhere.github.io/2015/12/29/%E4%BD%BF%E7%94%A8nginx%E5%92%8Cnginx-rtmp%E6%90%AD%E5%BB%BA%E6%B5%81%E5%AA%92%E4%BD%93%E6%9C%8D%E5%8A%A1%E5%99%A8/

你可能感兴趣的:(使用 nginx 和 nginx-rtmp 搭建流媒体服务器)