借助OSS搭建在线教育视频课程分享网站

更新时间:
复制为 MD 格式

本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。

场景简介

本场景将基于一台配置了Alibaba Cloud Linux 3操作系统的ECS实例(云服务器)和OSS。通过本教程的操作,您可以在ECS实例上搭建在线教育网站,从OSS中上传数据,可以开通OSS传输加速对OSS数据进行加速访问,并且可以设置生命周期对OSS进行降本增效。

背景知识

本场景主要涉及以下云产品和服务:

  • 云服务器ECS

    云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。一台云服务器ECS实例等同于一台虚拟服务器,内含CPU、内存、操作系统、网络配置、磁盘等基础的组件。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

  • 对象存储OSS

    阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(129),服务可用性(或业务连续性)不低于99.995%。

前提条件

云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。

重要

本实验预计两个小时产生费用0.3元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。

进入实操前,请确保阿里云账号满足以下条件:

  • 已通过实名认证并且账户余额大于100。

  • 云资源产生的费用需您自行承担,云起实验室不会向您征收额外费用。

  • 所有实验操作将保留至您的账号,请谨慎操作。

  • 实操结束后,您可以选择继续付费保留资源,或参考手册自动/手动释放资源。

创建实验资源

  1. 在实验页面,勾我已阅读并同意《阿里云云起实践平台服务协议》我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操

  2. 创建资源需要5分钟左右的时间,请您耐心等待。

  3. 云产品资源列表,您可以查看本场景涉及的云产品资源信息。

    image

安全设置

资源创建完成后,为了保护您阿里云主账号上资源的安全,请您重置云服务器ECS的登录密码和设置安全组端口。

  1. 重置云服务器ECS的登录密码。

    1. 云产品资源列表的ECS云服务器区域,单击管理

      image

    2. 实例详情页签的基本信息区域,单击重置密码

      image

    3. 重置实例密码对话框中,设置新密码确认密码重置密码的方式选择在线重置密码配置SSH密码登录策略选择开启,单击确认修改

      image

      返回如下结果,表示ECS实例root用户的登录密码重置成功。

      image

  2. 设置安全组端口。

    1. 云产品资源列表的安全组区域,单击管理

      image

    2. 访问规则区域的入方向中,添加SSH(22)HTTP(80)HTTPS(443)端口。

      重要

      添加端口时,授权对象建议选择您的本机IP地址

      image

创建在线教育网站页面

本步骤将指导您创建HTML,创建完成后,通过浏览器访问相应地址,可看到在线教育网站。

  1. 云产品资源列表的ECS云服务器区域,单击远程连接

    image

  2. 登录实例对话框中,输入用户自定义密码,单击确定

    image

  3. 依次执行如下命令,下载并安装nginx。

    wget https://nginx.org/download/nginx-1.20.2.tar.gz
    yum -y install zlib zlib-devel gcc-c++ pcre-devel openssl openssl-devel
    tar -zxvf nginx-1.20.2.tar.gz
    cd nginx-1.20.2
    ./configure --prefix=/usr/local/nginx/ --with-http_ssl_module --with-http_stub_status_module
    make
    make install

    返回如下结果,表示nginx安装完成。

    image

  1. 执行如下命令,进入/usr/local/nginx/sbin目录。

    cd /usr/local/nginx/sbin
  2. 执行如下命令,启动nginx。

    ./nginx
  3. 在您的本机浏览器地址栏中,访问http://ECS公网IP地址。返回如下页面,表明nginx安装成功。

    说明

    您可在云产品资源列表查看ECS实例公网IP。

    image

  4. 执行如下命令,在/usr/local/nginx/html/目录下创建新文件夹edu。

    mkdir /usr/local/nginx/html/edu
  5. 执行以下命令,编辑index.html文件。

    vim /usr/local/nginx/html/edu/index.html
  6. 按下i键进入编辑模式,将如下代码复制并粘贴到文件中。

    <!DOCTYPE html>
    <html>
    
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>在线教育</title>
      <meta name="keywords" content="在线教育">
      <meta name="description" content="在线教育">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
      <!--Favicon-->
      <link rel="shortcut icon" href="" title="Favicon">
      <style>
        @media all and (orientation : portrait) {
    
          /*竖屏*/
          .mypic {
            width: 80%;
          }
        }
    
        @media all and (orientation : landscape) {
    
          /*横屏*/
          .mypic {
            width: 40%;
          }
        }
    
        a {
          color: #000000;
        }
    
        a:link {
          color: #000000;
        }
    
        a:visited {
          color: #000000;
        }
    
        a:hover {
          color: #000000;
        }
    
        a:active {
          color: #000000;
        }
      </style>
    </head>
    
    <body style=" font-family: 'Microsoft JhengHei UI';">
      <div id="wrapper" style=" margin: 0 15px; padding: 15px 0; position: relative;">
        <div style="padding:20px;">
             <p><font size="10" color="green">在线教育网</font></p>
            <p><font size="3" >您贴身的教育管家</font></p>
        </div>
    <p style="text-align:center"><font size="6" color="green">您可在此获取到丰富的教学视频,充分满足学习要求</font></p>
        <div style="padding:50px;">
          <h1 style="text-align:center">精选课程</h1>
          <p style="text-align:center">口碑好,效益佳</p>
          
    <div>
    <table style="float: center;">
                <tbody>
                   <tr>
                      <td>
                         <b>
                            <center>        
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>实战视频1</p>
          <p>您可以在此视频学习相关内容1</p>
         </div>   
                          </center>
                         </b>
                      </td>
                      <td>
                         <b></b>
                         <center><b>       
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>实战视频2</p>
          <p>您可以在此视频学习相关内容2</p>
         </div>
                      </b></center>
                      </td>
                      <td>
                         <b>
                            <center>
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>实战视频3</p>
          <p>您可以在此视频学习相关内容3</p>
         </div> 
                         </center>
                         </b>
                      </td>
                      <td>
                         <b>
                            <center>
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>实战视频4</p>
          <p>您可以在此视频学习相关内容4</p>
         </div> 
                         </center>
                         </b>
                      </td>
                   </tr>
                </tbody>
             </table>
    </div>
    
          <h1 style="text-align:center">观看金牌讲师直播</h1>
          <p style="text-align:center">所有导师来自名企,有多年教学经验</p>
    
    
    <div>
    <table style="float: center;">
                <tbody>
                   <tr>
                      <td>
                         <b>
                            <center>        
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>张佳佳</p>
          <p>擅长教学产品知识</p>
         </div>   
                          </center>
                         </b>
                      </td>
                      <td>
                         <b></b>
                         <center><b>       
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>李文</p>
          <p>多年web开发经验</p>
         </div>
                      </b></center>
                      </td>
                      <td>
                         <b>
                            <center>
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>王杰</p>
          <p>专攻大数据计算</p>
         </div> 
                         </center>
                         </b>
                      </td>
                      <td>
                         <b>
                            <center>
          <div class="video">
          <video width="320" height="240" controls>
          <source src="movie.mp4" type="video/mp4">
          </video>
          <p>刘子雯</p>
          <p>运营专家</p>
         </div> 
                         </center>
                         </b>
                      </td>
                   </tr>
    
                </tbody>
             </table>
    </div>
    
    
          <p style=" margin: 0 auto; text-align: center; ">
            <img class="mypic" src=""
              style=" vertical-align: middle;  text-align: center;">
          </p>
          <p>
            更多:
            <a style=" font-size:14px; font-family: 'Microsoft JhengHei UI'" href="https://www.aliyun.com"
              target="_blank">aliyun.com</a>
          </p>
          <p>电话号码:xxxxx;</p>
        </div>
      </div>
    </body>
    
    </html>
  7. 添加完成后,按下Esc键,输入:wq后按下Enter键保存并退出。

  1. 在您的本机浏览器地址栏中,输入http://ECS公网IP地址/edu,访问在线教育网站。

    说明

    您可在云产品资源列表查看ECS实例公网IP。

上传数据至OSS

OSS对象存储可上传数据进行存储。本步骤指导您如何在OSS中上传数据。

  1. 在您的本机浏览器地址栏中,访问下方地址链接,进入后可看到预览的视频。

    https://developer-labfileapp.oss-cn-hangzhou.aliyuncs.com/oss/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8OSS%E4%BA%A7%E5%93%81%E8%A7%86%E9%A2%91.mp4
  2. 在预览的视频上,右键单击视频另存为,然后将视频保存在本地电脑中。

    image

  3. 云产品资源列表的对象存储OSS区域,单击管理

    image

  4. 在左侧导航栏中,选择文件管理 > 文件列表

    image

  5. 文件列表页面,单击上传文件

    image

  6. 在上传文件页面,单击扫描文件扫描文件夹,上传刚刚保存至本地电脑中的视频。

    image

  1. 等待文件扫描完成后,单击上传文件

    image

  2. 任务列表面板,当文件的状态变为上传成功,表示上传文件已完成。

    image

开通并使用OSS传输加速

OSS传输加速功能,专门应对传输速度慢,传输距离远,跨境等场景使用,可以帮助用户提高OSS数据访问速度,提升用户体验。本步骤将指导您开通并使用OSS传输加速。

  1. 单击左上角的Bucket列表,回到Bucket列表页面。

    image

  2. Bucket列表页面,找到创建的Bucket,然后在右侧的传输加速列下,单击开启

    说明

    您可在云产品资源列表查看Bucket名。

    image

  3. 注意事项对话框中,单击确定

    image

    返回如下页面,传输加速状态为已开启

    image

  4. Bucket列表页面,找到创建的Bucket,单击Bucket名称

    image

  5. 文件列表页面,找到上传的文件,单击其右侧操作列下的详情

    image

  6. 详情面板,将过期时间改为7200,单击复制URL,后续步骤要用。

    image

  7. 传输加速开通之后,需要将文件URLEndpoint字段替换成传输加速Endpoint,才可使传输加速生效。

    在本实验中,您需要将上一步的文件URL中的oss-cn-shanghai改为oss-accelerate,然后在您的本机浏览器地址栏中,访问文件URL,即可访问传输加速效果的OSS文件。

    image

    访问效果如下图所示。

    image

  8. 在您的本机浏览器地址栏中,访问下方地址链接,然后选择任意地域,单击立即检测,可以查看不同区域使用传输加速前后的对比情况。

    https://oss.console.aliyun.com/velocity-tool

    image

在服务器后台html页面中插入OSS视频源

在教育网站页面html中插入OSS视频源,完成后,登录网站可浏览视频,达到网站教学视频的分享效果。

  1. 切换回ECS服务器命令行。

  2. 执行如下命令,编辑index.html文件。

vim /usr/local/nginx/html/edu/index.html
  1. 按下i键进入编辑模式。按照如下图所示找到实战视频2,将其上方source src中的movie.mp4替换成修改后的文件URL,即文件URL中的oss-cn-shanghai改为oss-accelerate

    image

    替换后如下图所示。

    image

  2. 修改完成后,按下Esc键,输入:wq后按下Enter键保存并退出。

  3. 在您的本机浏览器地址栏中,输入http://ECS公网IP地址/edu,访问在线教育网站。

    说明

    您可在云产品资源列表查看ECS实例公网IP。

    您可在网站中查看到播放相应的视频源,并实现一定的加速效果。

    image

说明

若您需要使用CDN加速,详情请参见CDN加速OSS资源,CDN内容分发服务可帮助您,在数据资源量重复下载的情况下,可有效缓存到CDN节点,并加速访问,同时可配置源站OSS,进行源数据读取。

OSS配置生命周期

OSS生命周期功能可按照规则将部分冷数据转储到低频或者归档中,可有效降低客户音视频存储成本。本步骤将指导您如何配置生命周期。

  1. 云产品资源列表的对象存储OSS区域,单击管理

    image

  2. 在左侧导航栏中,选择数据管理 > 生命周期

  3. 生命周期页面,单击创建规则

  4. 本实验以最后一次修改时间,超过一定时间数据未修改的,数据将自动转换为低频访问为例。 如下图所示,策略选择配置到整个Bucket文件时间策略选择指定天数生命管理周期选择修改时间,天数默认为30天,数据自动转换类型选择低频访问,单击确定

    image

  5. 生命周期页面,规则创建成功,状态启动中

    说明

    生命周期规则创建后的24小时内,OSS会加载规则。规则加载完成后,OSS会在每天的北京时间8:00开始执行规则。

    image

清理资源

  • 在完成实验后,如果无需继续使用资源,选择不保留资源,单击结束实操。在结束实操对话框中,单击确定

    image

  • 在完成实验后,如果需要继续使用资源,选择付费保留资源,单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。

    image