148 lines
126 KiB
HTML
148 lines
126 KiB
HTML
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="zh-Hans-CN"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=Edge"/><link rel="stylesheet" type="text/css" href="css/modern-norm.min.css"/><link rel="stylesheet" type="text/css" href="css/prism.min.css"/><link rel="stylesheet" type="text/css" href="css/katex.min.css"/><link rel="stylesheet" type="text/css" href="css/wolai.css"/><title>PlayEdu商业版运维手册 - wolai 笔记</title><link rel="shortcut icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 800'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg%3E%3Cpath class='cls-1' d='M610.08,0c66,0,90,6.88,114.13,19.79a134.62,134.62,0,0,1,56,56l2.28,4.4C793.93,103,800,127.88,800,189.92V610.08l-.08,11.56c-.78,57.38-7.58,79.89-19.71,102.57a134.62,134.62,0,0,1-56,56l-4.4,2.28C697,793.93,672.12,800,610.08,800H189.92l-11.56-.08c-57.38-.78-79.89-7.58-102.57-19.71a134.62,134.62,0,0,1-56-56l-2.28-4.4C6.44,697.75.4,673.72,0,616L0,189.92c0-66,6.88-90,19.79-114.13a134.62,134.62,0,0,1,56-56l4.4-2.28C102.25,6.44,126.28.4,184,0Z'/%3E%3Cpath d='M610.08,0c66,0,90,6.88,114.13,19.79a134.62,134.62,0,0,1,56,56l2.28,4.4C793.93,103,800,127.88,800,189.92V610.08l-.08,11.56c-.78,57.38-7.58,79.89-19.71,102.57a134.62,134.62,0,0,1-56,56l-4.4,2.28C697,793.93,672.12,800,610.08,800H189.92l-11.56-.08c-57.38-.78-79.89-7.58-102.57-19.71a134.62,134.62,0,0,1-56-56l-2.28-4.4C6.44,697.75.4,673.72,0,616L0,189.92c0-66,6.88-90,19.79-114.13a134.62,134.62,0,0,1,56-56l4.4-2.28C102.25,6.44,126.28.4,184,0Zm4.72,88.9H185.2L172.42,89c-32.78.62-43.68,3.24-54.71,9.14a45.84,45.84,0,0,0-19.54,19.54c-6.61,12.36-9.11,24.55-9.27,67.49V614.8L89,627.58c.62,32.78,3.24,43.68,9.14,54.71a45.84,45.84,0,0,0,19.54,19.54c12.36,6.61,24.55,9.11,67.49,9.27H610.08c46.79,0,59.41-2.44,72.21-9.28a45.84,45.84,0,0,0,19.54-19.54c6.61-12.36,9.11-24.55,9.27-67.49V189.92c0-46.79-2.44-59.41-9.28-72.21a45.84,45.84,0,0,0-19.54-19.54C669.93,91.56,657.74,89.06,614.8,88.9ZM233.33,493.33A73.34,73.34,0,1,1,160,566.67,73.35,73.35,0,0,1,233.33,493.33Z'/%3E%3C/g%3E%3C/svg%3E"></link></head><body class="small-font font-serif more-lead"><header><div class="image"></div><div class="title"><div class="banner"><div data-symbol="🤚" class="icon"></div></div><div data-title="PlayEdu商业版运维手册" class="main-title"></div></div></header><article><h1 id="mmRBKzHFc8QN2vfMR278xC" class="wolai-block"><span class="inline-wrap">一、背景概述</span></h1><div id="kjwT97WRXqBsjrtaEbGjPY" class="wolai-block wolai-text"><div><span class="inline-wrap">本手册旨在为读者提供 PlayEdu 商业版系统安装和运维指导。本手册提供的安装方式主要是基于<span class="jill"></span>Docker<span class="jill"></span>的形式进行安装,为读者提供了<span class="jill"></span>docker-compose<span class="jill"></span>一键拉起服务运行方式。同时也提供了站点<span class="jill"></span>https<span class="jill"></span>的配置教程。另外,也提供了在使用<span class="jill"></span>playedu<span class="jill"></span>过程中所需要依赖的第三方服务的配置教程,如:阿里云<span class="jill"></span>OSS,腾讯云<span class="jill"></span>COS,钉钉,飞书,企业微信等等的集成。考虑到随着程序的持续迭代,升级过程必不可少,因此我们也提供了<span class="jill"></span>playedu<span class="jill"></span>升级的教程。下面将附一张<span class="jill"></span>playedu<span class="jill"></span>的应用架构图,以便于您快速了解<span class="jill"></span>playedu<span class="jill"></span>的整体应用架构。</span></div></div><div id="x8yE1nmkG1dgsjhpm3eEno" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722410648604.png" style="width: 100%"/></figure></div><h1 id="ibr8HmBa8hGsYMFLQoVddp" class="wolai-block"><span class="inline-wrap">二、安装系统</span></h1><h2 id="5c7i2LKhYZNhgy6pGBfTEg" class="wolai-block"><span class="inline-wrap">2.1 <20>
|
|||
|
|
Cloud integration: v1.0.35+desktop.5
|
|||
|
|
Version: <span class="token number">24.0</span>.6
|
|||
|
|
API version: <span class="token number">1.43</span>
|
|||
|
|
Go version: go1.20.7
|
|||
|
|
Git commit: ed223bc
|
|||
|
|
Built: Mon Sep <span class="token number">4</span> <span class="token number">12</span>:28:49 <span class="token number">2023</span>
|
|||
|
|
OS/Arch: darwin/arm64
|
|||
|
|
Context: desktop-linux</pre></div></code-block><div id="uWe1jbqXyfCCVGDzRowJNM" class="wolai-block wolai-text"><div><span class="inline-wrap">笔者编写本文所使用的 </span><span class="inline-wrap"><code>Docker</code></span><span class="inline-wrap">版本是</span><span class="inline-wrap"><code>24.0.6</code></span><span class="inline-wrap">,请确保您所使用的版本大于等于这个版本号。</span></div></div><h2 id="fG9MtcGpLiAMkx5t68p1jR" class="wolai-block"><span class="inline-wrap">2.4 开始安装</span></h2><h3 id="gHd8GramD5QMhpjfF7nGCd" class="wolai-block"><span class="inline-wrap">2.4.1 </span><span class="inline-wrap"><code>docker-compose</code></span><span class="inline-wrap">安装程序</span></h3><div id="kk4gVPDpxoW8LZWzfzWhc7" class="wolai-block wolai-text"><div><span class="inline-wrap">下文假设您已经完成了<span class="jill"></span>playedu<span class="jill"></span>交付程序的解压,并进入到了解压后的程序目录。</span></div></div><h4 id="32LkG8YwrYxuZdQQi21bkK" class="wolai-block"><span class="inline-wrap">2.4.1.1 创建配置文件</span></h4><div id="JHq3QSyRiZQtQYqmy5NP8" class="wolai-block wolai-text"><div><span class="inline-wrap">首先,我们需要创建个</span><span class="inline-wrap"><code>.env</code></span><span class="inline-wrap">的配置文件,此文件在镜像构建和容器运行的时候均需要用到。执行下面命令创建:</span></div></div><code-block id="pzBSHrXRGDAv8yKoehrth1" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token function">cp</span> .env.example .env</pre></div></code-block><h4 id="sxnFzovDZ4SiMhvzU3DaNw" class="wolai-block"><span class="inline-wrap">2.4.1.2 构建</span><span class="inline-wrap"><code>docker</code></span><span class="inline-wrap">镜像</span></h4><div id="ccv5fgZ8u2APAT92TT432Y" class="wolai-block wolai-text"><div><span class="inline-wrap">接下来,请运行下面命令完成<span class="jill"></span>playedu<span class="jill"></span>的镜像的构建工作:</span></div></div><code-block id="8WCUf7aX55BTMQ6WSHgJK8" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token comment"># 构建playedu镜像</span>
|
|||
|
|
<span class="token function">docker</span> compose build playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 构建转码服务镜像</span>
|
|||
|
|
<span class="token function">docker</span> compose build document</pre></div></code-block><h4 id="i8qU1cJSn5erG8F9AeViRU" class="wolai-block"><span class="inline-wrap">2.4.1.3 运行服务</span></h4><div id="scdVsoa5eM8kH5BLLEk3Y4" class="wolai-block wolai-text"><div><span class="inline-wrap">镜像构建完成之后,通过下面命令拉起服务:</span></div></div><blockquote id="fELFZiW84mj5BvXggzCdFR" class="wolai-block"><span class="inline-wrap">📢 我们分两个命令拉起<span class="jill"></span>playedu<span class="jill"></span>服务。对熟悉</span><span class="inline-wrap"><code>compose</code></span><span class="inline-wrap">的小伙伴可能就说了,可以在</span><span class="inline-wrap"><code>compose.yml</code></span><span class="inline-wrap">中设置</span><span class="inline-wrap"><code>depends</code></span><span class="inline-wrap"> 依赖,直接通过</span><span class="inline-wrap"><code> docker compose up -d playedu</code></span><span class="inline-wrap"> 就可以了,这样更简洁。 这的确没有错,但是考虑到我们交付给客户,客户可能并不是所有的服务都通过</span><span class="inline-wrap"><code>compose</code></span><span class="inline-wrap">运行,比如:</span><span class="inline-wrap"><code>mysql</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>redis</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>kafka</code></span><span class="inline-wrap">这一类中间件可能独立安装,这种场景下就不能依靠</span><span class="inline-wrap"><code>depends</code></span><span class="inline-wrap">限制</span><span class="inline-wrap"><code>playedu</code></span><span class="inline-wrap">的运行依赖容器了。</span><span class="inline-wrap"><b>有关于服务拆分运行,我们将会在后文说到。</b></span></blockquote><hr id="k1x8w3cwv49xcdJcMYxeKH" class="wolai-block"/><blockquote id="2CJBtuD3NQYKzETpusGoW6" class="wolai-block"><span class="inline-wrap">📢 如果您不想将</span><span class="inline-wrap"><code>mysql</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>redis</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>kafka</code></span><span class="inline-wrap">中间件通过</span><span class="inline-wrap"><code>docker</code></span><span class="inline-wrap">容器方式运行话,您可以修改</span><span class="inline-wrap"><code>.env</code></span><span class="inline-wrap">中的</span><span class="inline-wrap"><code>mysql</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>redis</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>kafka</code></span><span class="inline-wrap">的配置。然后在</span><span class="inline-wrap"><code>docker compose up</code></span><span class="inline-wrap">的时候删除对应中间件的名称即可。</span></blockquote><hr id="rqJFQp3gfzGNsWgtgGRbGE" class="wolai-block"/><blockquote id="7QqfbKoBg9nTUitTBsh7xm" class="wolai-block"><span class="inline-wrap">⚠️请注意⚠️:如果您计划使用阿里云<span class="jill"></span>OSS<span class="jill"></span>或腾讯云<span class="jill"></span>COS<span class="jill"></span>托管视频文档等资源的话,那么您可以忽略</span><span class="inline-wrap"><code>minio</code></span><span class="inline-wrap">服务的创建运行。也就是移除下方</span><span class="inline-wrap"><code>docker compose up -d</code></span><span class="inline-wrap">命令后的</span><span class="inline-wrap"><code>minio</code></span><span class="inline-wrap">。</span></blockquote><code-block id="nU5auMQxsSBq6M318epKic" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token comment"># 拉起mysql,redis,kafka,minio依赖服务</span>
|
|||
|
|
<span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> mysql redis minio kafka
|
|||
|
|
|
|||
|
|
<span class="token comment"># 拉起 playedu 服务</span>
|
|||
|
|
<span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 拉起转码服务</span>
|
|||
|
|
<span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> document
|
|||
|
|
</pre></div></code-block><h4 id="w1RMvHYe3AuSrSEaa3QS4u" class="wolai-block"><span class="inline-wrap">2.4.1.4 访问服务</span></h4><div id="mrc84V7mEtR75SY6ezCDBT" class="wolai-block wolai-text"><div><span class="inline-wrap">命令执行完成,等到<span class="jill"></span>20s<span class="jill"></span>左右,我们就可以在浏览器输入下面的地址访问<span class="jill"></span>playedu<span class="jill"></span>的服务:</span></div></div><blockquote id="mdvFKgxzYSj1VYC9MKThaN" class="wolai-block"><span class="inline-wrap">请注意,容器构建的过程我们将用户界面三个静态站点文件和<span class="jill"></span>playedu api<span class="jill"></span>程序封装在一个容器里面。</span></blockquote><div id="hWK17uBXDo61nqcZa7DwDu" class="wolai-block wolai-simple-table"><table><thead><tr><th class="bg-lavender_blue" style="width: 122px"><span class="inline-wrap">端口</span></th><th class="bg-lavender_blue" style="width: 240px"><span class="inline-wrap">地址</span></th><th class="bg-lavender_blue" style="width: 190px"><span class="inline-wrap">账号/密码</span></th></tr></thead><tbody><tr><td class="bg-lavender_blue"><span class="inline-wrap">后台管理</span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>http://localhost:9900</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>admin@playedu.xyz</code></span><span class="inline-wrap">
|
|||
|
|
</span><span class="inline-wrap"><code>playedu</code></span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">PC</span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>http://localhost:9800</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap">-</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">H5</span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>http://localhost:9801</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap">-</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">API</span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>http://localhost:9700</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap">-</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">MinIO<span class="jill"></span>服务端</span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>http://localhost:9002</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap">-</span></td></tr></tbody></table></div><div id="s5crySFJgtcWBJUgx7kkoV" class="wolai-block wolai-text"><div><span class="inline-wrap">通过上述链接简单体验了<span class="jill"></span>playedu<span class="jill"></span>的功能之后,我们还需继续安装。</span></div></div><hr id="rKKENoR1PtcGv5nZKDRG18" class="wolai-block"/><h4 id="bdbXzg7kwhaEZmiKDH7rC9" class="wolai-block"><span class="inline-wrap">2.4.1.5 配置域名访问</span></h4><div id="pxukuZqgmBbnDgVhhhnon9" class="wolai-block wolai-text"><div><span class="inline-wrap">接下来是将</span><span class="inline-wrap"><code>9700</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>9800</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>9801</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>9900</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>9002</code></span><span class="inline-wrap">五个端口更换为通过</span><span class="inline-wrap"><code>80</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>443</code></span><span class="inline-wrap">端口访问。</span></div></div><div id="gA1BjMpVRXM1FmnZ6qg6au" class="wolai-block wolai-text"><div><span class="inline-wrap">因为<span class="jill"></span>5<span class="jill"></span>个端口走的都是</span><span class="inline-wrap"><code>80</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>443</code></span><span class="inline-wrap">端口,因此我们需要通过域名来确定访问的是哪个端口,下面是我的域名分配方案仅供读者参考。需要注意的是,您完全可以按照自己的想法和要求分配域名方案,但是不管如何定义域名,五个子域名数量是必不可少(这里需要注意的是:如果您精通</span><span class="inline-wrap"><code>nginx</code></span><span class="inline-wrap">且通过子目录的方式而不是域名的访问分配站点访问服务的话也是可以的):</span></div></div><blockquote id="bGc5DoE8hb9M8YGTg1eFJM" class="wolai-block"><span class="inline-wrap">⚠️请注意⚠️:如果您计划使用阿里云<span class="jill"></span>OSS<span class="jill"></span>或腾讯云<span class="jill"></span>COS<span class="jill"></span>托管视频文档等资源的话,那么您可以忽略</span><span class="inline-wrap"><code>minio</code></span><span class="inline-wrap">服务域名的配置和下文中的</span><span class="inline-wrap"><code>minio</code></span><span class="inline-wrap">服务的<span class="jill"></span>SSL<span class="jill"></span>证书配置。</span></blockquote><div id="tLZfN9Habq2xXMgPxjjAN8" class="wolai-block wolai-simple-table"><table><thead><tr><th class="bg-lavender_blue" style="width: 122px"><span class="inline-wrap">业务端口</span></th><th class="bg-lavender_blue" style="width: 100px"><span class="inline-wrap">端口</span></th><th class="bg-lave
|
|||
|
|
<span class="token function">docker</span> compose down playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 重新拉起playedu服务</span>
|
|||
|
|
<span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> playedu</pre></div></code-block><div id="g8QUFfX9ETHf5rp2UgXbqt" class="wolai-block wolai-text"><div><span class="inline-wrap">上述命令执行完成,等待<span class="jill"></span>20s<span class="jill"></span>左右,我们就可以通过域名<span class="jill"></span>+</span><span class="inline-wrap"><code>https</code></span><span class="inline-wrap">协议访问各个服务端口了,快体验下吧。体验完成之后,我们将继续<span class="jill"></span>playedu<span class="jill"></span>的安装。</span></div></div><hr id="eQuwbaG7NFYXwV2KYEHycx" class="wolai-block"/><h4 id="4Nvug9hX9dm39wei1x9kGN" class="wolai-block"><span class="inline-wrap">2.4.1.6 系统配置</span></h4><div id="hRYp1Soatkt3QZd4tA1i5b" class="wolai-block wolai-text"><div><span class="inline-wrap">我们进入到后台,打开系统配置,填写下图三个配置:</span></div></div><div id="rrTQojfjpJirFiaeQvrFss" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_1.png" style="width: 100%"/></figure></div><div id="jX9HjPgTyGVZwFT9CL1BiE" class="wolai-block wolai-text"><div><span class="inline-wrap">然后依旧是系统配置页面,选择<span class="jill"></span>S3<span class="jill"></span>存储配置:</span></div></div><div id="5mm3ZaRZg9zumH8wxk5rDs" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722417866559.png" style="width: 100%"/></figure></div><div id="atwe458mb1VWHb5FJg7sk3" class="wolai-block wolai-text"><div><span class="inline-wrap">到这里,playedu<span class="jill"></span>系统的配置基本完成,然后基本上可以在生产环境中使用了。接下来,我们还要继续配置文档转码。</span></div></div><hr id="aN14gG89wYL9BFJw5FKxzR" class="wolai-block"/><h4 id="8MSBGNCND9EYXkB8QPGGBv" class="wolai-block"><span class="inline-wrap">2.4.1.7 文档转码服务配置</span></h4><div id="2zSPGqQhUCccETv1TJbPWL" class="wolai-block wolai-text"><div><span class="inline-wrap">上述的容器构建过程其实已经构建好了文档转码程序的镜像并且运行了转码服务容器。命令如下:</span></div></div><ul class="wolai-block"><li id="bBPVcbU47sCfkX5P3NNV3p"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap">构建转码服务镜像命令 </span><span class="inline-wrap"><code>docker compose build document</code></span></li><li id="ssdR8sxUZyJzuAa1p7h3vV"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap">运行转码服务(也就是创建转码服务容器)的命令 </span><span class="inline-wrap"><code>docker compose up -d document</code></span></li></ul><h1 id="thjgdwBMF5WRro75nzWTCd" class="wolai-block"><span class="inline-wrap">三、系统配置</span></h1><h2 id="5dBMeoq2DTRuWeJbojBit6" class="wolai-block"><span class="inline-wrap">3.1 </span><span class="inline-wrap"><code>S3</code></span><span class="inline-wrap">存储配置</span></h2><h3 id="tRYY6mwq5xBPnzwmxpZrYH" class="wolai-block"><span class="inline-wrap">3.1.1 阿里云<span class="jill"></span>OSS<span class="jill"></span>配置</span></h3><div id="ifjyec3f4WnYgJ1zr2sdm8" class="wolai-block wolai-text"><div><span class="inline-wrap">阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995 % 的服务可用性。多种存储类型供选择,全面优化存储成本。</span></div></div><hr id="f8caaAmJHYhJjwrE6MJeiZ" class="wolai-block"/><div id="5ahBDMbZ1AT7S2m1CiiaPF" class="wolai-block wolai-text"><div><span class="inline-wrap">点击右侧开通<EFBFBD><EFBFBD>
|
|||
|
|
💬 A:视频上传是直接在浏览器直传到<span class="jill"></span>OSS<span class="jill"></span>的,因为后台访问域名和<span class="jill"></span>OSS<span class="jill"></span>的</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">不一致,也就产生了跨域访问的问题。</span></blockquote><div id="i34w4MSyJF94PzvEa8Rwsm" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_5.png" style="width: 100%"/></figure></div><hr id="mdBnjoLB6YZEvU2ENNN8YJ" class="wolai-block"/><h4 id="rtPy6V15e9WUY5RrtFHpq6" class="wolai-block"><span class="inline-wrap">3.1.1.4 </span><span class="inline-wrap"><b>获取</b></span><span class="inline-wrap"><code>AccessKeyId</code></span><span class="inline-wrap"><b>和</b></span><span class="inline-wrap"><code>AccessKeySecret</code></span><span class="inline-wrap"> </span></h4><div id="jS8tv88SGBiKqndkB9zULy" class="wolai-block wolai-text"><div><span class="inline-wrap">阿里云<span class="jill"></span>RAM<span class="jill"></span>控制台:</span><span class="inline-wrap"><a href="https://ram.console.aliyun.com/users"><span>https://ram.console.aliyun.com/users</span></a></span><span class="inline-wrap"> 进入到<span class="jill"></span>RAM<span class="jill"></span>控制台,点击创建用户</span></div></div><div id="bTiy2EiTqJvLxRYtFBXAbq" class="wolai-block"><figure class="wolai-center" style="width: 496px; flex-direction: column"><img src="media/image_6.png" style="width: 100%"/></figure></div><div id="cVsuEgF6jtqxnS58WBx6VP" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_7.png" style="width: 100%"/></figure></div><div id="d9v1QJa7EeutFnrSMxnFvT" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_8.png" style="width: 100%"/></figure></div><blockquote id="sVvtyh6gvD1tArRdJeB8zq" class="wolai-block"><span class="inline-wrap">⚠️请注意⚠️:保存上图的 </span><span class="inline-wrap"><code>AccessKeyId</code></span><span class="inline-wrap"> 和 </span><span class="inline-wrap"><code>AccessKeySecret</code></span><span class="inline-wrap"> 后文需要用到。</span></blockquote><div id="tXwZoDdRHqjuZZZwgsc3YV" class="wolai-block wolai-text"><div><span class="inline-wrap">接下来,完成授权的操作:</span></div></div><div id="gUEb3H6gYDiqcC9Nid6e2J" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_9.png" style="width: 100%"/></figure></div><div id="s5Mq7412XTG8cuHfe5YDsU" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_10.png" style="width: 100%"/></figure></div><hr id="vqeVWgkAuqPwLX7gTPHpKx" class="wolai-block"/><h4 id="6fMVAAXyg2Wm6SmK2DvQ3x" class="wolai-block"><span class="inline-wrap">3.1.1.5 </span><span class="inline-wrap"><code>PlayEdu</code></span><span class="inline-wrap">存储配置更新</span></h4><div id="wJYeYg3nWSCkrnDG6CJmw7" class="wolai-block wolai-text"><div><span class="inline-wrap">将上述过程中产生的配置值配置到系统中。进入到<span class="jill"></span>playedu<span class="jill"></span>的后台管理界面,点击左侧菜单的系统配置,然后选择<span class="jill"></span>S3<span class="jill"></span>存储配置</span></div></div><div id="6KgXSwi62QGxhwZErTwjoY" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722419558502.png" style="width: 100%"/></figure></div><hr id="rm1RDUsEdmSBtJT69SB8SD" class="wolai-block"/><h4 id="x96Qf9YNiJ9yuf7dqZK2o9" class="wolai-block"><span class="inline-wrap">3.1.1.6 转码服务存储配置更新</span></h4><div id="aExY8JTp7K7RkuJRHG4k5P" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到</span><span class="inline-wrap"><code>playedu</code></span><span class="inline-wrap">程序的根目录,打开</span><span
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose down document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 创建新的转码服务容器</span>
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 启动转码进程</span>
|
|||
|
|
<span class="token function">sudo</span> supervisorctl restart all
|
|||
|
|
</pre></div></code-block><hr id="8awKVQ2Lt1meYUxGabQT1D" class="wolai-block"/><h4 id="fc8gokFD4anRoKasTTx3h8" class="wolai-block"><span class="inline-wrap">3.1.1.7<span class="jill"></span>阿里云</span><span class="inline-wrap"><code>OSS</code></span><span class="inline-wrap"><b>套餐包购买</b></span></h4><div id="mtbH5sk6WejU4YUEGBk7Bt" class="wolai-block wolai-text"><div><span class="inline-wrap">提前购买套餐包可以以更低的价格(相较于按量收费,使用多少扣多少账户余额)使用<span class="jill"></span>OSS。</span></div></div><div id="2mzBHKiMhxFFoKy3WhjjTs" class="wolai-block wolai-text"><div><span class="inline-wrap">套餐包购买链接:</span><span class="inline-wrap"><a href="https://common-buy.aliyun.com/?commodityCode=ossbag&request={"region":"china-common"}#/buy"><span>https://common-buy.aliyun.com/?commodityCode=ossbag&request={"region"%3A"china-common"}#/buy</span></a></span></div></div><div id="sN1rSD1HS71jtbRoJHh37B" class="wolai-block wolai-text"><div><span class="inline-wrap">需要购买下面几种套餐包</span></div></div><ul class="wolai-block"><li id="vbp3QUupdThdLBdq1jRX6s"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>标准-本地冗余存储</code></span></li><li id="eq8vWD2Nb7gvURupM1qRmS"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>下行流量</code></span></li><li id="t9AxBWRU5887B129Z9uuKw"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>请求-标准存储类型</code></span></li></ul><div id="4AauwL29PenvyAK2GDoTyq" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722494684200.png" style="width: 100%"/></figure></div><hr id="a3CZCeAoBnAhivM8SqRCFY" class="wolai-block"/><h4 id="maEzdqvYN931KQihEo4XL5" class="wolai-block"><span class="inline-wrap">3.1.1.8 给</span><span class="inline-wrap"><code>Bucket</code></span><span class="inline-wrap">绑定自定义域名</span></h4><div id="taHWG4tvHB47ktXTykbv4g" class="wolai-block wolai-text"><div><span class="inline-wrap">如果您不想使用阿里云</span><span class="inline-wrap"><code>OSS</code></span><span class="inline-wrap">提供的</span><span class="inline-wrap"><code>Endpoint</code></span><span class="inline-wrap">的话,那么您可以自定义一个域名,请看下面教程。</span></div></div><div id="j9Y9rxw62xtuGVuJYyiHVk" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到阿里云</span><span class="inline-wrap"><code>OSS</code></span><span class="inline-wrap">的控制台,点击已创建的</span><span class="inline-wrap"><code>Bucket</code></span><span class="inline-wrap">进入,如下图:</span></div></div><div id="kJXufzzAdJuiHqbTD37mG7" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722496265830.png" style="width: 100%"/></figure></div><div id="deyWauthMEjg9PpoDP9y85" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722496959586.png" style="width: 100%"/></figure></div><div id="3zPMggm9VaAuhPEEF1uBG3" class="wolai-block wolai-text"><div><span class="inline-wrap">如果域名不是阿里云注册的话,那么需要手动配置</span><span class="inline-wrap"><code>CNAME</code></span><span class="inline-wrap">解析,如下图:</span></div></div><div id="mD77gqxK3pa7RMSBso1PNg" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose down document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 创建新的转码服务容器</span>
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 启动转码进程</span>
|
|||
|
|
<span class="token function">sudo</span> supervisorctl restart all</pre></div></code-block><hr id="8fVkQn434UnoGiMzAnosy7" class="wolai-block"/><h4 id="8Ruh2uaTu2eKMKqNzmaPNV" class="wolai-block"><span class="inline-wrap">3.1.1.9 开启</span><span class="inline-wrap"><code>CDN</code></span><span class="inline-wrap">加速</span></h4><div id="mz4y7aTgd6NdCeEwrtxXZe" class="wolai-block wolai-text"><div><span class="inline-wrap">如果您的学习群体主要集中一个城市的话比如:杭州的话,那么您可以不用考虑<span class="jill"></span>CDN<span class="jill"></span>加速的事情。但是如果您的学员横跨数个省份的话,那么就有必要开启<span class="jill"></span>CDN<span class="jill"></span>加速了。这是为什么呢?因为<span class="jill"></span>CDN<span class="jill"></span>加速可以让整个大陆的学员都可以享受极快的视频下载速度,如果直接通过<span class="jill"></span>OSS<span class="jill"></span>的</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">访问的话,其下载速度受限于所属地域的限制和用户宽带的限制(一般情况下资源的访问速度可以参考:电信宽带>移动宽带>联通宽带)。所以,为了让处于任何省份的学员都可以享受快速的视频播放体验和稳定性,CDN<span class="jill"></span>加速必不可少。</span></div></div><div id="ruVkrNSBGZs4vbPWatache" class="wolai-block wolai-text"><div><span class="inline-wrap">下面我将指导您给阿里云<span class="jill"></span>OSS<span class="jill"></span>配置<span class="jill"></span>CDN<span class="jill"></span>加速。</span></div></div><div id="6x4S4jCTLsqfBCzYYCvbYm" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到阿里云<span class="jill"></span>CDN<span class="jill"></span>控制台(地址:</span><span class="inline-wrap"><a href="https://cdn.console.aliyun.com/domain/list"><span>https://cdn.console.aliyun.com/domain/list</span></a></span><span class="inline-wrap">),点击添加域名:</span></div></div><div id="9qo6JVzfdLaPXzxPFFfomH" class="wolai-block"><figure class="wolai-center" style="width: 505px; flex-direction: column"><img src="media/image_11.png" style="width: 100%"/></figure></div><div id="aBYVeix4FZnwpq87s62VyK" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_12.png" style="width: 100%"/></figure></div><div id="utEhHRUT43RvYu195M1q2W" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_13.png" style="width: 100%"/></figure></div><div id="xfsMUcTUyweRN2rzoYYnSG" class="wolai-block"><figure class="wolai-center" style="width: 638px; flex-direction: column"><img src="media/image_14.png" style="width: 100%"/></figure></div><div id="rjP47ELE5BvMCape6GsmHr" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_15.png" style="width: 100%"/></figure></div><div id="mqs8q1RmykqsE1KfpggW6J" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_16.png" style="width: 100%"/></figure></div><hr id="6WNuaUWJDLdtThANFKWQy6" class="wolai-block"/><div id="fgAXaPoz48id1N2tGibUMV" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>给<span class="jill"></span>CDN<span class="jill"></span>加速域名启用<span class="jill"></span>HTTPS</b></span></div></div><div id="5JQ5kkz17BZTTjN2M55i1U" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到添加的<span class="jill"></span>CDN<span class="jill"></span>域名配置管理页面:</span></div></div><div id="my9jL8YEiPD66MNqL68Nku" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_17.png" style="width: 100%"/></figure></div><hr id="7rib4SuBG8asrck3iBFqrk" class="wolai-block"/><div id="f1aoLwY9qAjA44QKcwk8rw" class="wolai-block wolai-text"><div><span class
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose down document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 创建新的转码服务容器</span>
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 启动转码进程</span>
|
|||
|
|
<span class="token function">sudo</span> supervisorctl restart all
|
|||
|
|
</pre></div></code-block><hr id="3QxyHHeypNzTCmW3gaKm69" class="wolai-block"/><h4 id="uchrYdxvnqmtyy1Dk64WdF" class="wolai-block"><span class="inline-wrap">3.1.2.7 腾讯云</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">套餐包购买</span></h4><div id="d3YXB1qcTq4Kx9XojSqnG1" class="wolai-block wolai-text"><div><span class="inline-wrap">提前购买套餐包可以以更低的价格(相较于按量收费,使用多少扣多少账户余额)使用<span class="jill"></span>OSS。</span></div></div><div id="rqfvLp2ckPPa7D1d83XMSA" class="wolai-block wolai-text"><div><span class="inline-wrap">套餐包购买地址:</span><span class="inline-wrap"><a href="https://buy.cloud.tencent.com/cos"><span>https://buy.cloud.tencent.com/cos</span></a></span></div></div><div id="uSjh1psbRe2B5ds829uXts" class="wolai-block wolai-text"><div><span class="inline-wrap">需要购买下面这些套餐包:</span></div></div><ul class="wolai-block"><li id="pujpahsdRSapJYGaNT9uEs"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>外网下行流量</code></span></li><li id="fyPDykQHzB6rj3khdLzStg"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>存储容量</code></span></li><li id="tRuYbprwpjTmTHxpNRFXng"><div class="marker"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M12 14.5a2.5 2.5 0 100-5 2.5 2.5 0 000 5z"></path></svg></div><span class="inline-wrap"><code>读写请求</code></span></li></ul><div id="eqp2uPdcaDdHRMyj1mzmZu" class="wolai-block wolai-text"><div><span class="inline-wrap">如下图:</span></div></div><blockquote id="kpwzwYseHoG6KnwsAb2Skp" class="wolai-block"><span class="inline-wrap">具体买多少没有限制,用多少买多少。初次的话可以买少点,等用个几天估摸着每天平均用量再一次购买未来半年或者一年的用量。</span></blockquote><div id="ipN8AeuNqBUC3BPHqiSk4S" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499150657.png" style="width: 100%"/></figure></div><div id="pgNoEZg786s2DyoTNyFg7V" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499167711.png" style="width: 100%"/></figure></div><div id="pENERnqrALU7GmqbAg4Eja" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499194234.png" style="width: 100%"/></figure></div><hr id="x3Wa6NMDDEUK8hXPLM5at7" class="wolai-block"/><h4 id="iq5kKj2KYLFgagpgB6HFdM" class="wolai-block"><span class="inline-wrap">3.1.2.8 给</span><span class="inline-wrap"><code>Bucket</code></span><span class="inline-wrap">绑定自定义域名</span></h4><div id="s8nVL7QGxqVAYYbvzyXZn5" class="wolai-block wolai-text"><div><span class="inline-wrap">如果您不想使用腾讯云</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">默认的</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">的话,您可以自定给</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">的</span><span class="inline-wrap"><code>bucket</code></span><span class="inline-wrap">绑定个自定义域名。下面将指导您绑定自定义域名。</span></div></div><div id="3jWL2mM2YacoewpmUNcJ8R" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到腾讯云</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">的存储桶列表(地址:</span><span class="inline-wrap"><a href="https://console.cloud.tencent.com/cos/bucket"><span>https://console.cloud.tencent.com/cos/bucket</span></a></span><
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose down document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 创建新的转码服务容器</span>
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> document
|
|||
|
|
|
|||
|
|
<span class="token comment"># 启动转码进程</span>
|
|||
|
|
<span class="token function">sudo</span> supervisorctl restart all</pre></div></code-block><hr id="tueqmSLbSZwPGdwHYQ6ov" class="wolai-block"/><h4 id="sevXQEvgcYxXDeUnH2ySSB" class="wolai-block"><span class="inline-wrap">3.1.2.9 开启</span><span class="inline-wrap"><code>CDN</code></span><span class="inline-wrap">加速</span></h4><div id="7FeUWkQ7v67s78tdCV73Vr" class="wolai-block wolai-text"><div><span class="inline-wrap">如果您的学习群体主要集中一个城市的话比如:杭州的话,那么您可以不用考虑<span class="jill"></span>CDN<span class="jill"></span>加速的事情。但是如果您的学员横跨数个省份的话,那么就有必要开启<span class="jill"></span>CDN<span class="jill"></span>加速了。这是为什么呢?因为<span class="jill"></span>CDN<span class="jill"></span>加速可以让整个大陆的学员都可以享受极快的视频下载速度,如果直接通过<span class="jill"></span>OSS<span class="jill"></span>的</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">访问的话,其下载速度受限于所属地域的限制和用户宽带的限制(一般情况下资源的访问速度可以参考:电信宽带>移动宽带>联通宽带)。所以,为了让处于任何省份的学员都可以享受快速的视频播放体验和稳定性,CDN<span class="jill"></span>加速必不可少。</span></div></div><div id="fMoDKrmfcamxoNMrY7rqy" class="wolai-block wolai-text"><div><span class="inline-wrap">下面我将指导您给腾讯云的</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">配置</span><span class="inline-wrap"><code>CDN</code></span><span class="inline-wrap">加速。</span></div></div><div id="nQ9pK8Jup9WhuMhdYk89H6" class="wolai-block wolai-text"><div><span class="inline-wrap">进入到腾讯云</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">控制台,找到已创建的</span></div></div><div id="g3kX22XGVSytYPZ77sf4my" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_31.png" style="width: 100%"/></figure></div><div id="aoUf1c3zNTj96wsp8j2fSo" class="wolai-block"><figure class="wolai-center" style="width: 704px; flex-direction: column"><img src="media/image_32.png" style="width: 100%"/></figure></div><div id="eCYAF35A5ShUu1RZ8QXKSr" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_33.png" style="width: 100%"/></figure></div><div id="o3xb8ScRQik3ypUEcQt34M" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_34.png" style="width: 100%"/></figure></div><hr id="cMECEHzyXSvX5yeZLqfH7P" class="wolai-block"/><div id="gxcD3VgHKnVLjriwqCYPB8" class="wolai-block wolai-text"><div><span class="inline-wrap">CDN<span class="jill"></span>域名配置<span class="jill"></span>HTTPS</span></div></div><div id="o9qpiEsTGHKqS2Chvp6KK" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_35.png" style="width: 100%"/></figure></div><div id="ivx49u9fixnNBCovoU9FNb" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_36.png" style="width: 100%"/></figure></div><hr id="n6ZVKc48eSP7koDgjmnuBK" class="wolai-block"/><div id="hr1tYBLzQMaaeL4yEvdfU5" class="wolai-block wolai-text"><div><span class="inline-wrap">CDN<span class="jill"></span>域名访问控制配置</span></div></div><div id="vAYTAUWLBSkSY1Bjd9dsCS" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_37.png" style="width: 100%"/></figure></div><div id="wKnv4MXbHuGpuXRsJi47DV" class="wolai-block"><figure class="wolai-center" style="width: 554px; flex-direction: column"><img src="media/image_38.png" style="width: 100%"/></figure></div><div id="4N179yVNPSM71og39G4SwC" class="wolai-block"><figure class="wolai-center" style="wid
|
|||
|
|
|
|||
|
|
<span class="token function">docker</span> compose build playedu
|
|||
|
|
|
|||
|
|
<span class="token function">docker</span> compose build document
|
|||
|
|
|
|||
|
|
<span class="token function">docker</span> compose up <span class="token parameter variable">-d</span> playedu document
|
|||
|
|
|
|||
|
|
<span class="token function">sudo</span> supervisorctl restart all
|
|||
|
|
</pre></div></code-block><h1 id="7Fj1Bs1aQVvq13iJ9vR4R5" class="wolai-block"><span class="inline-wrap">五、常见问题</span></h1><h2 id="8mC9Z6hBhepDiK4CcEoLV3" class="wolai-block"><span class="inline-wrap">5.1 如何查看基础镜像的</span><span class="inline-wrap"><code>Dockerfile</code></span></h2><div id="QDEsNnEhkiT2MAg6mtmqC" class="wolai-block wolai-text"><div><span class="inline-wrap">因为大陆封锁</span><span class="inline-wrap"><code>docker hub</code></span><span class="inline-wrap">的原因,为了方便客户安装,我们交付给客户的</span><span class="inline-wrap"><code>compose.yml</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>Dockerfile</code></span><span class="inline-wrap">都使用了白书科技自行封装的镜像。如果您需要查看基础镜像的原始 </span><span class="inline-wrap"><code>Dockerfile</code></span><span class="inline-wrap">的话可以查看交付程序目录下的</span><span class="inline-wrap"><code>docker/images</code></span><span class="inline-wrap">目录,此目录下涵盖了所有我们二次封装的镜像</span><span class="inline-wrap"><code>Dockerfile</code></span><span class="inline-wrap">。</span></div></div><h2 id="de8EzdUy7HJ5V9MxgMG6Uh" class="wolai-block"><span class="inline-wrap">5.2 我如果想要拆分</span><span class="inline-wrap"><code>mysql</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>redis</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>kafka</code></span><span class="inline-wrap">等中间件该如何操作?</span></h2><div id="77ycGzGcAHRWTxbF7SY7cr" class="wolai-block wolai-text"><div><span class="inline-wrap">首先,您按照您的标准安装好这些中间件,然后修改</span><span class="inline-wrap"><code>.env</code></span><span class="inline-wrap">配置文件中的配置,下面给出拆分各个中间件之后所要修改的配置。</span></div></div><h3 id="4gZ5VEhLpqphdhuYgxsHpB" class="wolai-block"><span class="inline-wrap">5.2.1 拆分</span><span class="inline-wrap"><code>MySQL</code></span></h3><div id="hCdUSdQVjMV1vh97KFshuz" class="wolai-block wolai-text"><div><span class="inline-wrap">请修改</span><span class="inline-wrap"><code>.env</code></span><span class="inline-wrap">中的下面配置,修改为您的</span><span class="inline-wrap"><code>MySQL</code></span><span class="inline-wrap">连接信息:</span></div></div><code-block id="s9XFGoJnXf3uCmSndCoCD4" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token assign-left variable">DB_HOST</span><span class="token operator">=</span>mysql
|
|||
|
|
<span class="token assign-left variable">DB_PORT</span><span class="token operator">=</span><span class="token number">3306</span>
|
|||
|
|
<span class="token assign-left variable">DB_NAME</span><span class="token operator">=</span>playedu
|
|||
|
|
<span class="token assign-left variable">DB_USER</span><span class="token operator">=</span>root
|
|||
|
|
<span class="token assign-left variable">DB_PASS</span><span class="token operator">=</span>playeduxyz
|
|||
|
|
|
|||
|
|
<span class="token assign-left variable">DOC_DB_HOST</span><span class="token operator">=</span>mysql
|
|||
|
|
<span class="token assign-left variable">DOC_DB_PORT</span><span class="token operator">=</span><span class="token number">3306</span>
|
|||
|
|
<span class="token assign-left variable">DOC_DB_NAME</span><span class="token operator">=</span>document
|
|||
|
|
<span class="token assign-left variable">DOC_DB_USER</span><span class="token operator">=</span>root
|
|||
|
|
<span class="token assign-left variable">DOC_DB_PASS</span><span class="token operator">=</span>playeduxyz
|
|||
|
|
</pre></div></code-block><h3 id="5JcDcshQg4Yg5HT5ZohnRD" class="wolai-block"><span class="inline-wrap">5.2.2 拆分</span><span class="inline-wrap"><code>Redis</code></span></h3><code-block id="J5uvbQ5Zq5nuPUUAzEkWc" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token assign-left variable">REDIS_HOST</span><span class="token operator">=</span>redis
|
|||
|
|
<span class="token assign-left variable">REDIS_PASS</span><span class="token operator">=</span>F9nO2FzJ*%uDX58<span class="token operator">!</span>
|
|||
|
|
<span class="token assign-left variable">REDIS_PORT</span><span class="token operator">=</span><span class="token number">6379</span>
|
|||
|
|
<span class="token assign-left variable">REDIS_DB</span><span class="token operator">=</span><span class="token number">2</span></pre></div></code-block><h3 id="i92z6Kd8wh2iuwHZe9Nrcc" class="wolai-block"><span class="inline-wrap">5.2.3 拆分</span><span class="inline-wrap"><code>Kafka</code></span></h3><code-block id="qw3DXLQ5drPWfHr38j4RhN" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token assign-left variable">KAFKA_BOOTSTRAP_SERVERS</span><span class="token operator">=</span>kafka:9092</pre></div></code-block><h2 id="bza5CNZRcro4YYcSq26zC3" class="wolai-block"><span class="inline-wrap">5.3 </span><span class="inline-wrap"><code>MySQL</code></span><span class="inline-wrap">数据库备份</span></h2><code-block id="dszcfNftFfAcwX5FRVKyNn" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token comment"># 将 playedu 数据库导出到 SQL 文件到当前目录</span>
|
|||
|
|
<span class="token comment"># -u 紧接着数据库账户</span>
|
|||
|
|
<span class="token comment"># -p 紧接着数据库账户密码</span>
|
|||
|
|
<span class="token function">docker</span> compose mysql mysqldump <span class="token parameter variable">-uroot</span> <span class="token parameter variable">-pplayeduxyz</span> playedu <span class="token operator">></span> ./playedu-backup.sql
|
|||
|
|
|
|||
|
|
</pre></div></code-block><h2 id="tUMs2QkWBxCRvXLuMBMW6Q" class="wolai-block"><span class="inline-wrap">5.4 转码程序的底层架构图</span></h2><div id="s5j97ST18TCbaNNjnRG2QZ" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722408750123.png" style="width: 100%"/></figure></div><h2 id="4vTGN95LFYA8hkqigcrxs2" class="wolai-block"><span class="inline-wrap">5.5 转码程序任务状态流程图</span></h2><div id="m3RvA8NnVQSsRkgdiUuKit" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_17259627227255.png" style="width: 100%"/></figure></div><div id="ppF4SswxAnZyMWFP1Lzp8p" class="wolai-block wolai-text"><div><span class="inline-wrap"></span><br/></div></div><h1 id="rgwg1gXNJdpBkxdXevGifz" class="wolai-block"><span class="inline-wrap">六、系统运维</span></h1><h2 id="taUxmdjNmxSh54qG4FyDvQ" class="wolai-block"><span class="inline-wrap">6.1 服务重启</span></h2><code-block id="6a4Hc8RhWsChBCY43sXghe" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all"><span class="token comment"># 请注意,下面的命令都将在 playedu 程序根目录执行</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 重启 playedu-api 服务</span>
|
|||
|
|
<span class="token function">docker</span> compose restart playedu
|
|||
|
|
<span class="token comment"># 停止 playedu-api 服务</span>
|
|||
|
|
<span class="token function">docker</span> compose stop playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 重启转码服务</span>
|
|||
|
|
<span class="token function">docker</span> compose restart document
|
|||
|
|
<span class="token comment"># 停止转码服务</span>
|
|||
|
|
<span class="token function">docker</span> compose stop document
|
|||
|
|
|
|||
|
|
</pre></div></code-block><h2 id="qsP96qnciuERPXRgvgWLNe" class="wolai-block"><span class="inline-wrap">6.2<span class="jill"></span>查看服务</span></h2><code-block id="cMVEErCT1BBDXjrXt6q6Kf" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre><span class="token comment"># 请注意,下面的命令都将在 playedu 程序根目录执行</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 查看docker服务状态</span>
|
|||
|
|
<span class="token function">sudo</span> <span class="token function">docker</span> version
|
|||
|
|
|
|||
|
|
<span class="token comment"># 查看所有正在运行的容器</span>
|
|||
|
|
<span class="token function">docker</span> compose <span class="token function">ps</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 请注意,下面的命令都将在 playedu 程序根目录执行</span></pre></div></code-block><h2 id="xrk6EffGAaYL4vPEvDsQXr" class="wolai-block"><span class="inline-wrap">6.2 查看日志</span></h2><code-block id="5JWXAD7Zrptq9BmzHJjmt8" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre><span class="token comment"># 请注意,下面的命令都将在 playedu 程序根目录执行</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 查看 playedu-api 最近200行运行日志</span>
|
|||
|
|
<span class="token function">docker</span> compose logs <span class="token parameter variable">-n</span> <span class="token number">200</span> playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 持续观测 playedu-api 的运行日志</span>
|
|||
|
|
<span class="token function">docker</span> compose logs <span class="token parameter variable">-f</span> <span class="token parameter variable">-n</span> <span class="token number">200</span> playedu
|
|||
|
|
|
|||
|
|
<span class="token comment"># 将 playedu-api 的日志导出本地 playedu.log</span>
|
|||
|
|
<span class="token function">docker</span> compose logs playedu <span class="token operator">></span> playedu.log
|
|||
|
|
|
|||
|
|
<span class="token comment"># 查看 playedu 转码服务最新200行日志</span>
|
|||
|
|
<span class="token function">docker</span> compose logs <span class="token parameter variable">-n</span> <span class="token number">200</span> document
|
|||
|
|
|
|||
|
|
</pre></div></code-block><h2 id="ngFkkfWAccgZYUCaxnVjaX" class="wolai-block"><span class="inline-wrap">6.3 登录数据库</span></h2><code-block id="ghH3RHhDdRa8DUdNvTVgNd" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre><span class="token comment"># 请注意,下面的命令都将在 playedu 程序根目录执行</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># .env文件中可以查询数据库配置信息</span>
|
|||
|
|
|
|||
|
|
<span class="token function">docker</span> compose <span class="token builtin class-name">exec</span> <span class="token parameter variable">-it</span> mysql /bin/bash
|
|||
|
|
|
|||
|
|
<span class="token comment"># 上述命令将进入 mysql 容器内的 bash 环境,输入下面命令登录进入 mysql 数据库</span>
|
|||
|
|
mysql <span class="token parameter variable">-uroot</span> <span class="token parameter variable">-p</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 按照要求输入密码,回车即可进入 mysql 的命令行环境。执行下面命令进入 playedu 数据库</span>
|
|||
|
|
use playedu<span class="token punctuation">;</span>
|
|||
|
|
|
|||
|
|
<span class="token comment"># 重置转码定时任务脚本 (更新转码任务,重启服务前,需要重置转码定时任务表数据)</span>
|
|||
|
|
SET FOREIGN_KEY_CHECKS <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_blob_triggers <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_calendars <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_cron_triggers <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_fired_triggers <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_job_details <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_locks <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_paused_trigger_grps <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_scheduler_state <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_simple_triggers <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_simprop_triggers <span class="token punctuation">;</span>
|
|||
|
|
TRUNCATE TABLE resource_qrtz_triggers <span class="token punctuation">;</span>
|
|||
|
|
SET FOREIGN_KEY_CHECKS <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</pre></div></code-block><div id="kbAo4fS5hgo2hfmXCDbg4D" class="wolai-block wolai-text"><div></div></div></article><footer></footer></body></html>
|