博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一步步安装nginx搭建流媒体服务器
阅读量:5898 次
发布时间:2019-06-19

本文共 5280 字,大约阅读时间需要 17 分钟。

hot3.png

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: 

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

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

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

切换到nginx目录

administrator :~$ cd ~/software/nginx

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

administrator :~/software/nginx$     sudo su

安装zlib过程

1.解压zlib

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

2.切换到zlib目录

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

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

administrator :~/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就可以实现这样的功能,

       下载链接:

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后测试:

       

             说明: #我的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    保存并退出,下次重启会生效。

转载于:https://my.oschina.net/yale8848/blog/473079

你可能感兴趣的文章
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
minio 并发数_MinIO 参数解析与限制
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
python类 del_全面了解Python类的内置方法
查看>>
java jni 原理_使用JNI技术实现Java和C++的交互
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>
SILK 的 Tilt的意思
查看>>
Html学习笔记3
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>