Nginx搭建视频点播和视频直播服务器

Nginx搭建视频点播和视频直播服务器Nginx搭建视频点播和视频直播服务器一·、环境:Centos7,(推荐,Ubuntu不是很好用,经常会有一些莫名其妙的报错)Nginx1.10.1二、系统环境搭建首先,我是不建议自己一个个去安装这些软件的,耗时耗力,而且,容易出错,所以,最好使用yuminstall***命令安装,出错的概率小。资源链接:链接:https://pan.baidu.com/s/1WmJYpQ_b…

大家好,又见面了,我是你们的朋友全栈君。

Nginx搭建视频点播和视频直播服务器

一·、环境:
Centos 7,(推荐,Ubuntu不是很好用,经常会有一些莫名其妙的报错)
Nginx1.10.1
二、系统环境搭建
首先,我是不建议自己一个个去安装这些软件的,耗时耗力,而且,容易出错,所以,最好使用yum install ***命令安装,出错的概率小。
在这里插入图片描述
资源链接:链接:https://pan.baidu.com/s/1WmJYpQ_b089Oj783FZjX0g
提取码:bk0v
1、首先说下默认安装流程
(1)、yum install gcc gcc-c++
(2)、yum install openssl openssl-devel
(3)、yum insall pcre pcre-devel
(4)、yum install zlib zlib-devel
(5)、重点,下载nginx-rtmp-module-master
命令:git clone https://github.com/arut/nginx-rtmp-module.git
解压:
(6)、编译安装nginx
进入到解压之后的目录下,./configure –prefix=/usr/local/nginx –add-module=/home/admin/ftp/software/nginx-rtmp-module-master
注意:有时候编译的时候可能会报错,比如openssl找不到,而你输入openssll是有显示的,这是为什么,是因为你没有安装openssl-devel。
编译,注意:/home/admin/ftp/software/是你自己定义的rtmp包解压之后的目录。
2、非默认的,下载压缩包,解压后,编译(./configure –prefix=/usr/local/yourname)->make–>make install。出错率比较高,不交易这样做。
三、启动nginx
测试的时候,发现不论是service nginx start还是systemctl start nginx都不起作用,这就需要我们自己将nginx这个添加进服务里面去。在/etc/init.d/下创建一个nginx文件。(创建方法,vi nginx——>:wq退出保存)。

特别注意:#!/bin/sh一定要放在第一行,复制粘贴的时候不要忘记。

#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15
 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
 
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# pidfile:     /usr/local/nginx/logs/nginx.pid
 
# Source function library.
 
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
 
. /etc/sysconfig/network
 
# Check that networking is up.
 
[ "$NETWORKING" = "no" ] && exit 0
 
nginx="/usr/local/nginx/sbin/nginx"
 
prog=$(basename $nginx)
 
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
 
lockfile=/var/lock/subsys/nginx
 
start() {
 
    [ -x $nginx ] || exit 5
 
    [ -f $NGINX_CONF_FILE ] || exit 6
 
    echo -n $"Starting $prog: "
 
    daemon $nginx -c $NGINX_CONF_FILE
 
    retval=$?
 
    echo
 
    [ $retval -eq 0 ] && touch $lockfile
 
    return $retval
 
}
 
 
stop() {
 
    echo -n $"Stopping $prog: "
 
    killproc $prog -QUIT
 
    retval=$?
 
    echo
 
    [ $retval -eq 0 ] && rm -f $lockfile
 
    return $retval
 
}
 
 
 
restart() {
 
    configtest || return $?
 
    stop
 
    start
 
}
 
 
reload() {
 
    configtest || return $?
 
    echo -n $"Reloading $prog: "
 
    killproc $nginx -HUP
 
    RETVAL=$?
 
    echo
 
}
 
force_reload() {
 
    restart
 
}
 
 
configtest() {
 
  $nginx -t -c $NGINX_CONF_FILE
 
}
 
 
 
rh_status() {
 
    status $prog
 
}
 
 
rh_status_q() {
 
    rh_status >/dev/null 2>&1
 
}
 
case "$1" in
 
    start)
 
        rh_status_q && exit 0
        $1
        ;;
 
    stop)
 
 
        rh_status_q || exit 0
        $1
        ;;
 
    restart|configtest)
        $1
        ;;
 
    reload)
        rh_status_q || exit 7
        $1
        ;;
 
 
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
 
 
    condrestart|try-restart)
 
        rh_status_q || exit 0
            ;;
 
    *)
 
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

nginx=”/usr/local/nginx/sbin/nginx”这里的文件目录为你自己的目录,得确认你sbin目录下有nginx这个文件。
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”这个也同上,注意自己的目录。
lockfile=/var/lock/subsys/nginx这一行不是很重要,我也不是很理解,我的subsys下并没有nginx这个文件,但是整个运行时没有报错的。
四、systemctl start nginx
五、修改nginx.conf文件。

rtmp {
        server {
            listen 1935;
            #server_name localhost;
            application liveApp {
                live on;
             }

             application vod {
                play /home/admin/ftp/video;//你的视频存放的位置
             }

             application vod_http {
                 play http://119.23.234.4/vod;
             }

             application hls {
                 live on;
                 hls on;
                 hls_path /home/admin/ftp/software/nginx/objs/addon/hls;#注意为你的实际目录,可以通过find / -name hls查找。
             }
        }
}
 location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
           root /usr/local/nginx/nginx-rtmp-module/;#注意,确保你的nginx下有这个文件,没有的话,可以把你解压后的文件复制粘贴过来。这里填你的原来的目录报错。
        }

        location /hsl {
          types {
            application /vnd.apple.mpegurl m3u8;
            video/mp2t ts;
          }
          alias  /usr/local/nginx/nginx-rtmp-module/hls;//复制粘贴过来之后的hls目录。
          add_header Cache-Control no-cache;
        }

        #location /dash {
            #root /tmp;
            #add_header Cache-Control no-cache;
        #}

合理安装之后,/usr/local/nginx下应当是有rtmp模块文件的,没有也没关系,只要你编译nginx的时候,他没有报错,(没有报not found错误)。把nginx-rtmp-module复制粘贴过去即可。
六、演示:
在这里插入图片描述
在这里插入图片描述

去年写的博客,今天做一个补充:

https://blog.csdn.net/zhangbijun1230/article/details/82356611
https://blog.csdn.net/weixin_34261739/article/details/88917741
https://www.linuxidc.com/Linux/2018-10/154934.htm

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130656.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • django的drf_简述django请求生命周期

    django的drf_简述django请求生命周期前言一般我们写完序列化以后,我们就会开始写视图了,drf中我们一般使用CBV的方式,也就是类视图的方式,最基础的我们会使用fromrest_framework.viewsimportAPIVi

    2022年7月31日
    4
  • 代码走查总结[通俗易懂]

    代码走查总结[通俗易懂]什么是代码走查代码走查就是,项目开发人员在一起,对代码进行讨论。项目开发人员可以向大家阐述代码的逻辑和写代码的思路!在向别人阐述的时候,会发现做自己写的代码出现的一些问题。收获我进行代码阐述的时候,是按照功能来进行的,在阐述的过程中,我能感觉到我自己是清楚这个逻辑思路的,但是说着说着就发现了一些说不通的地方,还有一些不合理的地方。这让我突然想到了,之前出现的一个bug但是,死活不知道是…

    2025年7月31日
    5
  • AWStats简介

    AWStats简介安装[url]http://sourceforge.net/projects/awstats/[/url]下载安装包后:GNU/Linux:tarzxfawstats-version.tgzawstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到cgi-bin/目录下:/home/apache/cgi-bin/awstats/…

    2022年7月16日
    17
  • 【内存泄漏】使用memwatch高效排查代码的内存泄漏问题

    【内存泄漏】使用memwatch高效排查代码的内存泄漏问题linux下使用memwatch高效排查代码的内存泄漏问题,是我推荐给大家需要掌握的排查技能,在提交允许的情况下,非常有效。

    2022年7月13日
    14
  • html中图片连续滚动代码,[转载]网页设计中的图片连续滚动效果——代码「建议收藏」

    html中图片连续滚动代码,[转载]网页设计中的图片连续滚动效果——代码「建议收藏」style=”overflow:hidden;width:500px;”>border=”0″>id=”butong_net_left1″valign=”top”align=”center”>border=”0″>src=”src=”插入需要滚动的图片”>src=”插入需要滚动的图片”>src=”插入需要滚动的图片”>src=”插入需要滚动的图片”&gt…

    2022年7月18日
    16
  • python 正则 括号_js正则匹配0个或多个空格

    python 正则 括号_js正则匹配0个或多个空格\d匹配一个数字\w匹配一个字母或数字.匹配任意字符*表示任意个字符(包括0个),+表示至少一个字符?表示0个或1个字符^表示行的开头$表示行的结束\s匹配一个空格(也包括Tab等空白符)\s+表示至少有一个空格|A|B可以匹配A或B,所以(P|p)ython可以匹配’Pyth…

    2025年6月3日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号