文档章节

一步步安装nginx搭建流媒体服务器

yale8848
 yale8848
发布于 2015/07/01 19:52
字数 1383
阅读 506
收藏 54


ngnix 编译

先安装:

apt-get install g++

apt-get install g++

apt-get install build-essential

一般已经安装了



在网上下载以下的包。后面我把这些包上传到csdn资源里,以后就不用找了。

nginx-1.2.3.tar.gz      :应用服务器主程序

nginx_mod_h264_streaming-2.2.7.tar.gz      :MP4流媒体支持模块。

openssl-1.0.1c.tar.gz                 :openssl库

pcre-7.9.tar.gz                            :perl兼容的正则表达式库模块          

zlib-1.2.3.tar.gz                      :liunx下的JFFS文件系统制作工具

yamdi-1.9.tar.gz                 :flv文件添加关键帧,才能实现拖动播放



我已经打包好了在csdn: http://download.csdn.net/detail/yale8848/8859379

我把nginx-1.2.3.tar.gz 换成了最新稳定版本nginx-1.8.0.tar.gz 



下载后我把这些包统一放在了           /主文件夹/software/nginx文件夹下

其实安装这些包,无非就是解压,配置,编译,安装这几个部分。


切换到nginx目录

administrator@ubuntu :~$ cd ~/software/nginx

因为安装一些包需要root权限,我习惯先切换到root权限。

administrator@ubuntu :~/software/nginx$     sudo su

安装zlib过程

1.解压zlib

administrator@ubuntu :~/software/nginx#  tar xzvf zlib-1.2.3.tar.gz

2.切换到zlib目录

administrator@ubuntu :~/software/nginx#      cd zlib-1.2.3

3.配置 包安装目录,配置后,包会安装到usr/local/zlib目录下,方便以后管理

administrator@ubuntu :~/software/nginx/zlib-1.2.3#  ./configure --prefix=/usr/local/zlib

4.编译

administrator@ubuntu:~/software/nginx/zlib-1.2.3#  make

5.安装

administrator@ubuntu:~/software/nginx/zlib-1.2.3# make install

我习惯把编译和安装合并

administrator@ubuntu:~/software/nginx/zlib-1.2.3#  make && make install


其他软件类似

安装pcre过程


administrator@ubuntu:~/software/nginx#  tar xzvf pcre-7.9.tar.gz


administrator@ubuntu:~/software/nginx#      cd pcre-7.9


administrator@ubuntu:~/software/nginx/pcre-7.9#  ./configure --prefix=/usr/local/pcre


administrator@ubuntu:~/software/nginx/pcre-7.9#  make && make install


安装openssl-1.0.1c过程


administrator@ubuntu:~/software/nginx#  tar xzvf openssl-1.0.1c.tar.gz


administrator@ubuntu:~/software/nginx#      cd openssl-1.0.1c


administrator@ubuntu:~/software/nginx/openssl-1.0.1c#  ./config --prefix=/usr/local/openssl

administrator@ubuntu:~/software/nginx/openssl-1.0.1c# make && make install


安装nginx_mod_h264_streaming-2.2.7.tar.gz 

直接解压即可,
administrator@ubuntu:~/software/nginx#  tar xzvf nginx_mod_h264_streaming-2.2.7.tar.gz

在这个时候,修改nginx_mod_h264_streaming-2.2.7的源代码:修改ngx_http_streaming_module.c,注释掉

if (r->zero_in_uri)

  {

    return NGX_DECLINED;

  }

这一段。


如果不修改,后面nginx编译会报错

出现“POD document had syntax errors at /usr/bin/pod2man line 69. make 

rm /usr/bin/pod2man

#安装nginx

添加用户组groupadd www

   添加用户                  useradd -g www www


 administrator@ubuntu:~/software/nginx#  tar xzvf nginx-1.2.3.tar.gz

 administrator@ubuntu:~/software/nginx# cd nginx-1.2.3


 administrator@ubuntu:~/software/nginx/nginx-1.2.3# ./configure --add-module=../nginx_mod_h264_streaming-2.2.7 --with-pcre=../pcre-7.9 --with-zlib=../zlib-1.2.3 --with-http_ssl_module --with-openssl=../openssl-1.0.1c    --user=www --group=www   --prefix=/usr/local/nginx --with-http_flv_module --with-http_stub_status_module --with-http_mp4_module --with-cc-opt=-O3

 administrator@ubuntu:~/software/nginx/nginx-1.2.3#make && make install

make[1]: *** [objs/addon/src/mp4_reader.o] 错误 1
# vim objs/Makefile (修改objs/Makefile文件, 去掉其中的”-Werror”), 然后就能够正常编译了.

上面nginx已经安装成功,那么我们就运行该服务器把,因为指定了nginx安装目录在/usr/local/nginx目录下,那切换到该目录

 administrator@ubuntu:~/software/nginx/nginx-1.2.3# cd /usr/local/nginx/sbin

 administrator@ubuntu:/usr/local/nginx/sbin # nginx -c /usr/local/nginx/conf/nginx.conf


在火狐浏览器中输入localhost就可以看到

的字样。成功了。


nginx安装好了,但还没结束,我是搭建流媒体服务器,还需要继续,


安装yamdi-1.9.tar.gz,为flv文件添加关键帧,才能实现拖动播放

administrator@ubuntu:~/software/nginx#  tar xzvf yamdi-1.9.tar.gz

 administrator@ubuntu:~/software/nginx# cd yamdi-1.9

 administrator@ubuntu:~/software/nginx# make && make install

使用方法:yamdi -i input.flv -o out.flv

      给input.flv文件 添加关键帧,输出为out.flv文件



Nginx安装完成之后安装路径在/usr/local/nginx。

administrator@ubuntu:~/$ cd /usr/local/nginx/conf

因为nginx.conf是只可读的,执行添加修改权限。

administrator@ubuntu:/usr/local/nginx/conf$ chmod a+w nginx.conf

用vi编辑nginx.conf文件

administrator@ubuntu:/usr/local/nginx/conf$ vi nginx.conf

修改nginx.conf配置文件,添加MP4支持。在server配置中添加如下配置即可
        location ~ \.flv {

            flv;

        }
        location ~ \.mp4$ {
        mp4;
       }

vi执行命令esc,:wq保存退出。


基本上已经设置完毕,但是此时我们测试的时候还需要一个支持拖拽播放的flash播放器,开源的JW Player就可以实现这样的功能,

       下载链接:http://blogimg.chinaunix.net/blog/upfile2/100607142612.rar

rar文件默认大不开,可以安装unrar。

sudo apt-get install unrar

安装好后,就可以打开rar包了


       下载播放器后,上传到上面设置的/usr/local/nginx/html/flv_file/目录下,闭关把flv视频文件也放到该目录下!

 root@ubuntu:/home/administrator/下载# cp player.swf /usr/local/nginx/html

启动nginx后测试:

       http://192.168.1.60/player.swf?type=http&file=test1.flv

             说明: #我的ip是192.168.1.60

                       #player.swf是我的JW Player播放器

                       #http是表示居于http分发方式

                       #test1.flv是我的flv视频文件

播放大文件的时候,画面全是黑的,不知道什么情况,以后在研究。


ngnix 启动脚本

把以下脚本保存为nginx文件放入/etc/init.d/nginx

然后可以通过
/etc/init.d/nginx start 命令启动nginx
/etc/init.d/nginx stop 命令停止nginx
/etc/init.d/nginx restart 命令重启nginx

#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}

do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac

exit 0


nginx 开机自启动

vi /etc/rc.local

加入一行  /etc/init.d/nginx start    保存并退出,下次重启会生效。




本文转载自:http://blog.csdn.net/xiaoliouc/article/details/8363984

下一篇: IIS7.5 反向代理
yale8848
粉丝 14
博文 99
码字总数 24836
作品 0
西安
程序员
私信 提问
ffmpeg相关调研

ffmpeg解码流程 http://blog.csdn.net/ownwell/article/details/8113980 ffmpeg 基础学习 http://489553433.iteye.com/blog/1636488 nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 http:/......

zongquanliu
2014/12/04
0
0
nginx搭建视频服务器

nginx搭建mp4、flv流媒体服务器 一、FLV视频发布方式简介   FLV视频有两总发布方式   1、 HTTP方式   这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务...

hbssliulei
2013/12/15
0
0
nginx轻松搭建自己的flv流媒体服务器

nginx搭建flv流媒体服务器 <!--[if !supportLists]-->一、<!--[endif]-->FLV视频发布方式简介 FLV视频有两总发布方式 <!--[if !supportLists]-->1、 <!--[endif]-->HTTP方式 这种方式要下载F......

frankgao
2011/01/21
2.6K
2
在Nginx服务器上架构Flv流媒体服务器

FLV视频发布方式简介 FLV视频有两总发布方式 HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式...

eui988
2014/05/16
217
0
Mac中配置nginx的rtmp协议

背景 想要在mac上面,通过ffmpeg、nginx搭建本地流媒体服务,也就是发布rtmp协议。对ffmpeg、nginx和rtmp都不太熟悉,这里仅仅是一个对流媒体服务器的模仿,最终能够初步共享自己的电脑桌面,...

亚林瓜子
2017/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
8
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部