`
leon1509
  • 浏览: 536198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Openresty环境下搭建视频服务器

阅读更多
环境说明:
1. 操作系统----CentOS7

安装过程(以下安装过程以root执行,目录假定在/opt):
   
        # cd /opt
    

1. 安装必要的依赖库
   
        # yum install -y zlib
        # yum install -y pcre
        # yum install -y gcc gcc-c++ readline-devel pcre-devel openssl-devel tcl perl
    


2. 安装drizzle7-2011.07.21
   
        # wget http://openresty.org/download/drizzle7-2011.07.21.tar.gz  -- 此处如果下载不了,可以搜索到文件下载到本地,进行本地安装。
        # tar xzvf drizzle7-2011.07.21.tar.gz
        # cd drizzle7-2011.07.21/
        # ./configure --without-server
        # make libdrizzle-1.0
        # make install-libdrizzle-1.0
        <<< 安装完成,修改环境变量或加入到~/.bash_profile中:>>>
        # export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    


3. 安装nginx_mod_h264_streaming-2.2.7
   
        # wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz
        # tar xzvf nginx_mod_h264_streaming-2.2.7.tar.gz
    

    此处注意:如果是64位系统,需要修改文件:nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c,将158-161行代码注释(
   
       /* TODO: Win32 */
       if (r->zero_in_uri)
       {
            return NGX_DECLINED;
       }
    

     )
4. 安装openresty
   
        # wget https://openresty.org/download/ngx_openresty-1.9.3.2.tar.gz
        # tar xzvf ngx_openresty-1.9.3.2.tar.gz
        # cd ngx_openresty-1.9.3.2
        # ./configure --prefix=/opt/openresty --with-luajit --with-http_drizzle_module --with-http_iconv_module --add-module=/opt/nginx_mod_h264_streaming-2.2.7 --with-http_flv_module --with-http_stub_status_module
        # gmake
        # gmake install
    


5. 安装yamdi【其作用是为flv文件添加关键帧,才能实现拖动播放】
   
        # wget http://jaist.dl.sourceforge.net/project/yamdi/yamdi/1.4/yamdi-1.4.tar.gz
        # tar xzvf yamdi-1.4.tar.gz
        # cd yamdi-1.4/
        # make && make install
    


6. 上传你的视频flv或mp4文件到服务器到/opt/openresty/nginx/html/flv目录下
   
        # cd /opt/openresty/nginx/html/flv
        # yamdi -i 你的视频.mp4 -o test.mp4
    


7. 配置openresty
   
        # cd /opt/openresty/nginx/conf
        # vim nginx.conf
    

    内容如下,重点在server部分:


#user  nobody;
worker_processes  2;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    access_log off;
    gzip on;
    gzip_min_length 1100;
    gzip_buffers 4 8k;
    gzip_types text/plain;
    output_buffers 1 32k;
    postpone_output 1460;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    tcp_nopush on;
    tcp_nodelay on;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
        ####  关键部分  ####
        root html/flv;
        limit_rate_after 5m; ####在flv视频文件下载了5M以后开始限速
        limit_rate 512k; ####速度限制为512K
        index index.html;
        charset utf-8;

        location ~ /.flv {
           flv;
        }

        location ~ /.mp4 {
           mp4;
        }
        #### 结束 ####
        #error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}


8. 下载JWPlayer,并上传到/opt/openresty/nginx/html/flv目录,见图:



:带X的文件非必要文件,mp4或flv为测试用。

9. 启动Openresty中的nginx
  
       # /opt/openresty/nginx/sbin/nginx
   

   如果启动成功,访问http://你的服务器IP/player.swf?type=http&file=test.mp4





   其中:player.swf是JW Player播放器
       http表示基于http分发方式
       test1.mp4为待播放的视频文件

参考:http://www.itf5.com/nginx/236.html#597806-qzone-1-76085-0d330c1129111f0caa3695e5a48539b8
  • 大小: 24.9 KB
  • 大小: 552.9 KB
0
0
分享到:
评论

相关推荐

    openresty快速搭建高性能服务器视频教学

    ### OpenResty快速搭建高性能服务器的关键知识点 #### 一、OpenResty简介 **OpenResty**是一款基于Nginx与Lua的高性能Web平台,它将Nginx核心、许多Lua库、第三方Nginx模块以及其他大多数依赖项捆绑在一起,形成一...

    ubuntu下搭建ngx_openresty环境

    ubuntu下搭建ngx_openresty环境是一种常见的服务器架构,它基于nginx服务器和openresty框架,提供了高性能的Web应用程序托管服务。在本文中,我们将详细介绍ubuntu下搭建ngx_openresty环境的步骤,包括安装mysql...

    nginx搭建文件服务器上传文件获取文件

    在互联网技术中,Nginx 被广泛用于构建高性能、稳定的Web服务器环境。本文将详细介绍如何利用 OpenResty + Nginx + Lua 实现一个文件服务器,该服务器支持文件上传与获取的功能。 #### 一、OpenResty 的安装与配置 ...

    openresty+nginx环境安装配置.docx

    OpenResty+Nginx环境安装配置 OpenResty 是一个基于 Nginx 和 Lua 的高性能 Web 平台,内部有大量的 Lua 库和第三方模块,能够很方便的搭建处理高并发、扩展性高的 Web 平台和动态网关。OpenResty充分利用 Nginx 的...

    《OpenResty最佳实践》 .pdf

    OpenResty依赖于Nginx,因此在搭建OpenResty环境时,需要安装Nginx。本书介绍了在不同操作系统平台上,如Windows、CentOS、Ubuntu、Mac OS X等,如何搭建OpenResty环境。 ### Lua高级特性 - **高阶函数**:是指...

    OpenResty Best Practices.pdf

    OpenResty环境的搭建部分,覆盖了Windows、CentOS、Ubuntu和Mac OS X等不同操作系统上的安装步骤,帮助开发者在各种环境下快速上手。此外,书中还涉及到了Nginx的热更新、代码调试、日志记录的最佳实践,以及如何...

    OpenResty最佳实践

    OpenResty环境搭建涉及在Windows、CentOS、Ubuntu、Mac OS X等不同平台上进行安装和配置。 ### OpenResty中的Nginx使用 OpenResty利用Nginx作为Web服务器的基础,通过Lua扩展其功能。包括动态文件服务、日志记录、...

    第一章 安装OpenResty(Nginx+Lua)开发环境

    本章将深入讲解如何安装OpenResty开发环境,帮助你搭建起一个基于Nginx的动态、高性能Web应用程序平台。 首先,我们要了解OpenResty是什么。OpenResty是一个开源项目,它集成了Nginx服务器和LuaJIT,允许开发者在...

    基于openresty的多人聊天室

    在部署过程中,开发者需要安装OpenResty环境,配置WebSocket支持,编写 Lua 脚本处理业务逻辑,然后将静态资源部署到相应的路径,最后启动OpenResty服务。用户则通过浏览器打开聊天室页面,连接WebSocket服务器,就...

    OpenResty-Best-Practices.pdf

    在新手起步章节,我们会学习到如何在不同操作系统平台(如Windows、CentOS、Ubuntu、Mac OS X)上进行OpenResty的环境搭建。 接下来,关于Lua编程的介绍。Lua是一种轻量级的脚本语言,广泛应用于嵌入式系统、游戏...

    lua openresty

    在这些平台上,开发者可以根据OpenResty的官方文档进行环境的搭建和配置,从而快速开始使用OpenResty进行Web开发。 基础数据类型、表达式、控制结构(if/else、while、repeat、for)、break、return等是Lua编程的...

    openresty 最佳实践

    - 需要掌握如何编译安装OpenResty,以及如何在不同操作系统上配置OpenResty环境。 4. OpenResty使用技巧和最佳实践 - 掌握Lua的非空判断、正则表达式、虚变量、函数定义、模块定义、元表等高级特性。 - 了解Lua...

    openresty实践

    在OpenResty的环境中搭建和配置,特别是在不同的操作系统平台(Windows、CentOS、Ubuntu、MacOS)上,需要了解平台特有的注意事项和安装步骤。构建简单的Hello World程序是开始实践的第一步。 OpenResty提供了丰富...

    openresty最佳实战

    OpenResty的环境搭建是一个相对复杂的过程,因为需要考虑到不同操作系统的特性。文档中提到了在Windows平台、CentOS平台、Ubuntu平台和Mac OS X平台上的安装方法,这是确保OpenResty应用正常运行的先决条件。 在...

    Openresty二进制版本(openresty-1.19.9.1-win64.zip)

    使用这个二进制版本,开发者可以直接在Windows环境下搭建OpenResty服务器,无需自行编译源码,大大简化了部署过程。通过学习和使用OpenResty,开发者可以构建出高效、可扩展的Web服务,并利用Lua的强大功能快速迭代...

    openResty-best-practices

    对于不同的操作系统(如Windows、Linux发行版和MacOSX),搭建OpenResty环境的方法可能会有所不同。具体步骤涉及下载合适的OpenResty版本,配置环境变量以及进行基本的测试,确保安装无误。 #### HelloWorld示例 ...

    OpenResty最佳实战

    随后,书中会详细讲述OpenResty的环境搭建,包括在不同的操作系统平台如Windows、Linux发行版和Mac OS X上的安装步骤。对于初学者来说,这部分内容是非常重要的,因为环境配置的成功与否会直接影响到后续开发的体验...

    OpenResty 最佳实践

    OpenResty是一种将LuaJIT与Nginx高度集成的服务器软件,允许用户以非阻塞的方式直接在Nginx中执行Lua代码。它适用于构建高性能Web应用、Web服务网关及API平台。通过使用OpenResty,开发者可以借助Lua脚本实现复杂的...

Global site tag (gtag.js) - Google Analytics