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/