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 服务器要求</span></h2><div id="iMXcBmdAryPevnJKZ4XcLM" class="wolai-block wolai-simple-table"><table><thead><tr><th class="bg-lavender_blue" style="width: 74px"><span class="inline-wrap"></span><br/></th><th class="bg-lavender_blue" style="width: 100px"><span class="inline-wrap">最低配置</span></th><th class="bg-lavender_blue" style="width: 100px"><span class="inline-wrap">推荐配置</span></th></tr></thead><tbody><tr><td class="bg-lavender_blue"><span class="inline-wrap">CPU</span></td><td class="bg-lavender_blue"><span class="inline-wrap">2h</span></td><td class="bg-lavender_blue"><span class="inline-wrap">8h</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">内存</span></td><td class="bg-lavender_blue"><span class="inline-wrap">4G</span></td><td class="bg-lavender_blue"><span class="inline-wrap">16G</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">硬盘</span></td><td class="bg-lavender_blue"><span class="inline-wrap">40GB</span></td><td class="bg-lavender_blue"><span class="inline-wrap">200GB</span></td></tr><tr><td class="bg-lavender_blue"><span class="inline-wrap">带宽</span></td><td class="bg-lavender_blue"><span class="inline-wrap">5M</span></td><td class="bg-lavender_blue"><span class="inline-wrap">50M</span></td></tr></tbody></table></div><h2 id="vetu3Y8BQCefScuFvBB2pF" class="wolai-block"><span class="inline-wrap">2.2 操作系统</span></h2><div id="eFpah2iV1igi1QwvyogRN5" class="wolai-block wolai-text"><div><span class="inline-wrap">下面操作系统均支持</span></div></div><ul class="wolai-block"><li id="3f6EsMyyCrARGRNzh5bBmR"><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">Ubuntu22.04</span></li><li id="j6dGVNQCknC4KFENDBF2Fe"><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">CentOS</span></li><li id="2tKD4255JqPhZ597pTV5Gs"><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">Debain</span></li><li id="rAYFe3pUxQkYC3e9D4zG6b"><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">Redhat</span></li><li id="uL1cwGJ7H6qSTJpmphmNtV"><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">MacOS</span></li></ul><h2 id="2o9Q1wviLtEHrjS768Catu" class="wolai-block"><span class="inline-wrap">2.3 </span><span class="inline-wrap"><code>Docker</code></span><span class="inline-wrap">版本要求</span></h2><div id="eoCfxYqYksjvDjTkSv2Pp9" class="wolai-block wolai-text"><div><span class="inline-wrap">可执行 </span><span class="inline-wrap"><code>sudo docker version</code></span><span class="inline-wrap"> 查看:</span></div></div><code-block id="b8mtPdJThri6PuMoAu9Eh6" class="wolai-block"><div class="wolai-pre"><div data-lang="Bash" class="marker"></div><pre style="white-space: pre-wrap; word-break: break-all">Client:
|
||
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-lavender_blue" style="width: 194px"><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>9900</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>admin.playedu.xyz</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>9800</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>edu.playedu.xyz</code></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>9801</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>h5.playedu.xyz</code></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>9700</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>api.playedu.xyz</code></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>9002</code></span></td><td class="bg-lavender_blue"><span class="inline-wrap"><code>minio.playedu.xyz</code></span></td></tr></tbody></table></div><div id="qCvAkMGBmb8tJQgEZqoj6C" class="wolai-block wolai-text"><div><span class="inline-wrap">域名分配好了之后,因为我们也需要通过<span class="jill"></span>443<span class="jill"></span>端口访问,因此我们还需要准备好域名的</span><span class="inline-wrap"><code>SSL</code></span><span class="inline-wrap">证书。准备好<span class="jill"></span>ssl<span class="jill"></span>证书之后:</span></div></div><blockquote id="2FchxrqRRN8MR3D9C6U2tn" class="wolai-block"><span class="inline-wrap">这里推荐使用通配符</span><span class="inline-wrap"><code>SSL</code></span><span class="inline-wrap">证书,通配符</span><span class="inline-wrap"><code>SSL</code></span><span class="inline-wrap">证书的优点就是一份证书就可以作用于上述<span class="jill"></span>5<span class="jill"></span>个域名。</span></blockquote><ul class="wolai-block"><li id="X9i9ATCMSbJF7AUTeTSJ2"><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 class="jill"></span>SSL<span class="jill"></span>证书的话,那么请将证书重名为</span><span class="inline-wrap"><code>playedu.pem</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>playedu.key</code></span><span class="inline-wrap">并将</span><span class="inline-wrap"><code>pem</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>key</code></span><span class="inline-wrap">两个证书文件存放于项目下的</span><span class="inline-wrap"><code>data/ssl</code></span><span class="inline-wrap">目录。</span></li><li id="2JUQ6vmwqNub7usS41mRop"><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 class="jill"></span>SSL<span class="jill"></span>证书按照服务划分分别重命名为</span><span class="inline-wrap"><code>pc.pem</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>pc.key</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>h5.pem</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>h5.key</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>admin.pem</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>admin.key</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>api.pem</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>api.key</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>minio.pem</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>minio.key</code></span><span class="inline-wrap">并将这些证书文件存放于项目下的</span><span class="inline-wrap"><code>data/ssl</code></span><span class="inline-wrap">目录。</span></li></ul><div id="31uHRZGnzRzrvpunSAcW2f" class="wolai-block wolai-text"><div><span class="inline-wrap">到这里,域名和<span class="jill"></span>SSL<span class="jill"></span>证书准备完毕,接下来,我们打开</span><span class="inline-wrap"><code>.env</code></span><span class="inline-wrap">配置文件,按照下图配置填充下构建镜像时的参数配置:</span></div></div><div id="3C1p1XLnb4Bxy6dNQGZPao" class="wolai-block"><figure class="wolai-center" style="width: 667px; flex-direction: column"><img src="media/image.png" style="width: 100%"/></figure></div><div id="vLdrXhDHJDg1WhiCJ4aEAk" 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="r2ZULnrzJr5HUjgf23abSK" 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">docker</span> compose build playedu</pre></div></code-block><div id="kBi5zRwCezvAP6JJkdwuZc" 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="m7CxThR1mV5Sm9YYV4YDJj" 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 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">点击右侧开通阿里云<span class="jill"></span>oss:</span><span class="inline-wrap"><a href="https://www.aliyun.com/product/oss"><span>https://www.aliyun.com/product/oss</span></a></span></div></div><hr id="rMhJndytNq5L8q9ka8Bis4" class="wolai-block"/><div id="fjie9nneeVSssQGxVR816i" class="wolai-block wolai-text"><div><span class="inline-wrap">阿里云<span class="jill"></span>oss<span class="jill"></span>控制台:</span><span class="inline-wrap"><a href="https://oss.console.aliyun.com/bucket"><span>https://oss.console.aliyun.com/bucket</span></a></span></div></div><hr id="6d9RuHZDQ1eLAJDpAvdm5N" class="wolai-block"/><h4 id="kwVB327jLAi4thjPwdGnPH" class="wolai-block"><span class="inline-wrap">3.1.1.1 创建</span><span class="inline-wrap"><code>Bucket</code></span></h4><div id="n4x51ejU7YkeqMGENZdBch" class="wolai-block wolai-text"><div><span class="inline-wrap">创建<span class="jill"></span>Bucket - 进入到阿里云<span class="jill"></span>OSS<span class="jill"></span>控制台</span></div></div><div id="i2uFa3gZox1YNNfqzcEo6y" class="wolai-block"><figure class="wolai-center" style="width: 374px; flex-direction: column"><img src="media/image_2.png" style="width: 100%"/></figure></div><div id="8Vt2WBYDux5rmmzcxn4TxY" class="wolai-block wolai-text"><div><span class="inline-wrap">点击创建<span class="jill"></span>bucket,在弹出的窗口完善信息:</span></div></div><div id="kdFBrzzxogxP9GYCJiZesA" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_3.png" style="width: 100%"/></figure></div><div id="tuHZeNTH5isCe9mPBanoj9" class="wolai-block wolai-text"><div><span class="inline-wrap">上述表单中的第一个数值</span><span class="inline-wrap"><code>Bucket<span class="jill"></span>名称</code></span><span class="inline-wrap">后续配置将会用到。</span></div></div><hr id="3T51BMEHDdefqqHSqVvvBF" class="wolai-block"/><h4 id="7t8DSj9ZfcrVVPruBuHh7F" class="wolai-block"><span class="inline-wrap">3.1.1.2 获取基础配置</span></h4><div id="um9Hf2FVmVpzXXQ2QZs9Dk" class="wolai-block wolai-text"><div><span class="inline-wrap">获取</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>region</code></span></div></div><div id="c9CH3Pvd6Fh4XNcsqZyoiq" class="wolai-block wolai-text"><div><span class="inline-wrap">创建好<span class="jill"></span>Bucket<span class="jill"></span>之后,进入到<span class="jill"></span>Bucket<span class="jill"></span>的概览页面,如下:</span></div></div><div id="enVZ3PtUXXh9G4ycNtTBjF" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_4.png" style="width: 100%"/></figure></div><div id="d6AeWSmZjk5jcGrC1ncvfZ" class="wolai-block wolai-text"><div><span class="inline-wrap">从上图可知</span></div></div><div id="kJFr2zf5DXksEGvMVSo4dF" class="wolai-block wolai-text"><div><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap"> 为: </span><span class="inline-wrap"><code>https://oss-cn-hangzhou.aliyuncs.com</code></span></div></div><div id="6huVa9HtPZdAd5E36HB77V" class="wolai-block wolai-text"><div><span class="inline-wrap"><code>region</code></span><span class="inline-wrap"> 为 </span><span class="inline-wrap"><code>cn-hangzhou</code></span></div></div><hr id="sbkFFBcQM6Ur6iXF5Vm43F" class="wolai-block"/><h4 id="oWTpaCpuMC9WiZ9wV17xHU" class="wolai-block"><span class="inline-wrap">3.1.1.3 </span><span class="inline-wrap"><b>跨域配置</b></span></h4><blockquote id="gKnZs4Mfmku242h9CoU4me" class="wolai-block"><span class="inline-wrap">🙋♂️ Q:为什么需要配置跨域?
|
||
💬 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 class="inline-wrap"><code>.env</code></span><span class="inline-wrap">文件,修改下面这些配置</span></div></div><div id="22PEjkxti9XLmttYNQ4UVg" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722494854215.png" style="width: 100%"/></figure></div><div id="2xWg94sEyVCYtsBvr5Vdee" class="wolai-block wolai-text"><div><span class="inline-wrap">配置修改了之后,执行下面命令使得配置生效:</span></div></div><code-block id="iaXEt7jjMBTk4ojq8atPp1" 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"># 销毁已有的转码服务容器</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="media/qq_1722496975771.png" style="width: 100%"/></figure></div><div id="ekNucZqcSxT2itYRgFB987" class="wolai-block wolai-text"><div><span class="inline-wrap">完成</span><span class="inline-wrap"><code>CNAME</code></span><span class="inline-wrap">解析之后,我们还需要给绑定的自定义域名开启</span><span class="inline-wrap"><code>HTTPS</code></span><span class="inline-wrap">证书,如下:</span></div></div><div id="qfJwpuW1MAEPdgGgsLZu6x" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722497004861.png" style="width: 100%"/></figure></div><div id="rkyNTs7amgUm2niyqMevNt" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722497029220.png" style="width: 100%"/></figure></div><div id="78E94Kndo7GStASdvuowxo" 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 class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">配置,如下图:</span></div></div><div id="catNDz2K6mZunZXFzcXZGY" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722496715885.png" style="width: 100%"/></figure></div><div id="m3zZBR27fzmtz9UUmdPnz4" 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 class="inline-wrap"><code>.env</code></span><span class="inline-wrap">文件,修改下面配置:</span></div></div><div id="8arJ3qFAAo2VtSiFbN3GYZ" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722497211004.png" style="width: 100%"/></figure></div><ul class="wolai-block"><li id="bSWqwQ8mbkdhod9g18SUkR"><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>S3_ENDPOINT</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>S3_URL</code></span><span class="inline-wrap">配置值修改为您的</span><span class="inline-wrap"><code>自定义域名再移除<span class="jill"></span>bucket<span class="jill"></span>名称之后的域名</code></span><span class="inline-wrap">。举个例子,</span><span class="inline-wrap"><code>bucket</code></span><span class="inline-wrap">名称为</span><span class="inline-wrap"><code>playedu-test1</code></span><span class="inline-wrap">,自定义域名是</span><span class="inline-wrap"><code>playedu-test1.playedu.xyz</code></span><span class="inline-wrap">,那么这里应该配置</span><span class="inline-wrap"><code>https://playedu.xyz</code></span><span class="inline-wrap">即可。</span></li><li id="mupUdR5q8bTDQruyMbo25N"><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>S3_USE_PATH_STYLE</code></span><span class="inline-wrap">的值配置为</span><span class="inline-wrap"><code>false</code></span></li></ul><div id="bt2rFGUsVgTni2YciiKYCC" class="wolai-block wolai-text"><div><span class="inline-wrap">配置完成之后,通过下面命令使得配置生效:</span></div></div><code-block id="4Zn4ReRKfny4PTShqHSSFo" 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"># 销毁已有的转码服务容器</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="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="inline-wrap"><b>回源授权配置</b></span></div></div><div id="iRAudDDttieTGjNUYic9z" class="wolai-block wolai-text"><div><span class="inline-wrap">因为前面我们创建<span class="jill"></span>OSS<span class="jill"></span>的<span class="jill"></span>Bucket<span class="jill"></span>是私有的,也就意味着如果访问私有存储桶的任何资源都是需要签名的,因此<span class="jill"></span>CDN<span class="jill"></span>是否无法直接访问私有桶数据,所以,我们需要配置下回源授权,允许<span class="jill"></span>CDN<span class="jill"></span>访问私有桶的数据。</span></div></div><div id="smSYvaHsnE5EHQsAAPHHTn" class="wolai-block"><figure class="wolai-center" style="width: 748px; flex-direction: column"><img src="media/image_18.png" style="width: 100%"/></figure></div><hr id="oLiHXBDTvDXStMD3LDLhXJ" class="wolai-block"/><div id="ekAq5XsNBhtjQSukBY2UqU" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>访问控制配置</b></span></div></div><div id="iPyJHmuk1KgsKf1hAYbrHi" class="wolai-block wolai-text"><div><span class="inline-wrap">此项配置主要用于限定通过<span class="jill"></span>CDN<span class="jill"></span>加速访问资源必须提前签名。</span></div></div><div id="gHCaRPbPTTiAdVLhJUxMnD" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_19.png" style="width: 100%"/></figure></div><blockquote id="3KujPCRz8KWxUFXtJJZk12" class="wolai-block"><span class="inline-wrap">⚠️警告⚠️:上图中的鉴权类型必须选择</span><span class="inline-wrap"><code>C</code></span><span class="inline-wrap">方式!!!</span></blockquote><hr id="34WHGquSjXfJE21AhT49cK" class="wolai-block"/><div id="2KvDufT5nyKnPmEFHjPvvX" class="wolai-block wolai-text"><div><span class="inline-wrap">回到</span><span class="inline-wrap"><code>playedu</code></span><span class="inline-wrap">的系统配置配置下<span class="jill"></span>CDN<span class="jill"></span>的配置,如下图:</span></div></div><div id="48CpyHZ63j3iqmxENwbJfb" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722498406049.png" style="width: 100%"/></figure></div><div id="2B8raCMnZdY6c3hLDEFYVZ" 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>CDN</code></span><span class="inline-wrap">加速之后,还需要额外购买一些套餐包,如下:</span></div></div><ul class="wolai-block"><li id="p2PaCPuUz4d8WMAcPRb6Y7"><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>OSS</code></span><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":"china-common"}#/buy</span></a></span><span class="inline-wrap">)如下:</span><ul class="wolai-block"><li id="mximWqtiz7qitps1TiYRgJ"><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>CDN<span class="jill"></span>回源流量包</code></span></li></ul><div id="goX5biUmgnRfF5xXwLKWnb" class="wolai-block"><figure class="wolai-left" style="width: 100%; flex-direction: column"><img src="media/qq_1722501168825.png" style="width: 100%"/></figure></div></li><li id="dmaDeyeSrSkTbKtqov6H59"><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>CDN</code></span><span class="inline-wrap">套餐包需要购买(购买地址:</span><span class="inline-wrap"><a href="https://common-buy.aliyun.com/?commodityCode=dcdnpaybag#/buy"><span>https://common-buy.aliyun.com/?commodityCode=dcdnpaybag#/buy</span></a></span><span class="inline-wrap">)如下:</span><ul class="wolai-block"><li id="ag7QgijaZZBNhbsoUfBwv9"><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="5BsxhYaY7YjHvd7ctSuLdm"><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>静态<span class="jill"></span>HTTPS<span class="jill"></span>请求次数</code></span></li></ul><div id="juqoSv5bW1ZioFQSVA6rn3" class="wolai-block"><figure class="wolai-left" style="width: 100%; flex-direction: column"><img src="media/qq_1722501223288.png" style="width: 100%"/></figure></div></li></ul><hr id="fL4q4tcmxA7Pwo9UYd232Q" class="wolai-block"/><h3 id="rkkvM1zXAhAv4FqZ5Lr5Zv" class="wolai-block"><span class="inline-wrap">3.1.2 腾讯云<span class="jill"></span>COS<span class="jill"></span>配置</span></h3><div id="pen8qk76nw1DNgQVYLZwvX" class="wolai-block wolai-text"><div><span class="inline-wrap">对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。</span></div></div><hr id="ehKCGEpRdzjHMJqJeVbboF" class="wolai-block"/><div id="rpfuh4Kdn8PX85Zc5c6aQM" class="wolai-block wolai-text"><div><span class="inline-wrap">开通腾讯云 COS 地址:</span><span class="inline-wrap"><a href="https://cloud.tencent.com/product/cos"><span>https://cloud.tencent.com/product/cos</span></a></span></div></div><hr id="qti5JBq9UVu5PSTfFPKLj5" class="wolai-block"/><div id="q9wevKkNQjT84ZMnHBKEsC" class="wolai-block wolai-text"><div><span class="inline-wrap">腾讯云<span class="jill"></span>COS<span class="jill"></span>控制台地址:</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></div></div><hr id="aJDcm6HGRnCDYCVLRjSiz" class="wolai-block"/><h4 id="hvVK98MfVRjvTTFdgTBX5u" class="wolai-block"><span class="inline-wrap">3.1.2.1</span><span class="inline-wrap"><b>创建<span class="jill"></span>Bucket</b></span></h4><div id="7ijLrGEYyC2FFUrNbXkHEA" class="wolai-block wolai-text"><div><span class="inline-wrap">进入控制台,点击创建存储桶</span></div></div><div id="4mrtLQSKDGfb8GNgYQCdFe" class="wolai-block"><figure class="wolai-center" style="width: 710px; flex-direction: column"><img src="media/image_20.png" style="width: 100%"/></figure></div><div id="wVzJZxA6aZnjHDwWBq3oAA" class="wolai-block"><figure class="wolai-center" style="width: 723px; flex-direction: column"><img src="media/image_21.png" style="width: 100%"/></figure></div><div id="dU6Ph53oh8TME5NFJV2cxE" class="wolai-block"><figure class="wolai-center" style="width: 728px; flex-direction: column"><img src="media/image_22.png" style="width: 100%"/></figure></div><div id="tCDpxLpujFSPqHM1FbzwBr" class="wolai-block"><figure class="wolai-center" style="width: 710px; flex-direction: column"><img src="media/image_23.png" style="width: 100%"/></figure></div><hr id="2BMgnyXSoenn2sQU2JeBck" class="wolai-block"/><h4 id="apShf1mS3pWSYbjFVRuth2" class="wolai-block"><span class="inline-wrap">3.1.2.2 获取基础配置</span></h4><div id="urQ1EmjP6JiQwnFyk59ML" class="wolai-block wolai-text"><div><span class="inline-wrap">获取</span><span class="inline-wrap"><code>Bucket</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>region</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">配置,如下图:</span></div></div><div id="4D4Kdkx3p3gvyrchp2uGkE" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_24.png" style="width: 100%"/></figure></div><div id="wnRi8MWTU4n7C9PsFA1UgY" class="wolai-block wolai-text"><div><span class="inline-wrap">上图中的 </span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap"> 的配置为 </span><span class="inline-wrap"><code>https://playedu-1306441972.cos.ap-nanjing.myqcloud.com</code></span><span class="inline-wrap"> ,这个地址并不是 playedu 需要的地址,需要将其中的 </span><span class="inline-wrap"><code>playedu-1306441972</code></span><span class="inline-wrap"> 给去掉(也就是 </span><span class="inline-wrap"><code>bucket</code></span><span class="inline-wrap"> 的值),最终 playedu 需要的 </span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap"> 的值为 </span><span class="inline-wrap"><code>https://cos.ap-nanjing.myqcloud.com</code></span><span class="inline-wrap">。</span></div></div><hr id="dM3oLGjfW5qdPWSXvRM4tB" class="wolai-block"/><h4 id="n6sgCGZQQZAdPP4RtfUkUG" class="wolai-block"><span class="inline-wrap">3.1.2.3</span><span class="inline-wrap"><b>跨域配置</b></span></h4><div id="bNWhfTYhT7dkiFVEoppGtp" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_25.png" style="width: 100%"/></figure></div><div id="vE8q4HBqwRbC2np8ga4WBQ" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_26.png" style="width: 100%"/></figure></div><hr id="7hDk7CSWDcY5zNtcJhQpwY" class="wolai-block"/><h4 id="omdrfNGTouJkocAv9uEyka" class="wolai-block"><span class="inline-wrap">3.1.2.4<span class="jill"></span>获取</span><span class="inline-wrap"><code>SecretId</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>SecretKey</code></span></h4><div id="3Lkj3QsE86U6rXBUGyA4Lo" class="wolai-block wolai-text"><div><span class="inline-wrap">浏览器打开腾讯云的访问控制台,地址:</span><span class="inline-wrap"><a href="https://console.cloud.tencent.com/cam"><span>https://console.cloud.tencent.com/cam</span></a></span></div></div><div id="kn2gwifqfvBRFkG8mcTNtG" class="wolai-block"><figure class="wolai-center" style="width: 504px; flex-direction: column"><img src="media/image_27.png" style="width: 100%"/></figure></div><div id="84u234w6qEmDXMCFjz3SUm" class="wolai-block"><figure class="wolai-center" style="width: 736px; flex-direction: column"><img src="media/image_28.png" style="width: 100%"/></figure></div><div id="8HVP3Z6AH67UytaGZVhU6G" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_29.png" style="width: 100%"/></figure></div><div id="uLJGVH1CqeSNyvtT4iVCJi" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_30.png" style="width: 100%"/></figure></div><div id="owx6jMWD4cuGeiTmuKkwAJ" class="wolai-block wolai-text"><div><span class="inline-wrap">这里的 </span><span class="inline-wrap"><code>secretId</code></span><span class="inline-wrap"> 和 </span><span class="inline-wrap"><code>secretKey</code></span><span class="inline-wrap"> 后文需要用到,请妥善保存。</span></div></div><hr id="ajPcPno9nKjBzaqvfRKiQU" class="wolai-block"/><h4 id="sLRr6F9AXDgqnyHQas1wyv" class="wolai-block"><span class="inline-wrap">3.1.2.5 </span><span class="inline-wrap"><code>PlayEdu</code></span><span class="inline-wrap">存储配置更新</span></h4><div id="sjUmBo9PbfaGrCeGdfHzsU" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722498799891.png" style="width: 100%"/></figure></div><hr id="jbCgeXEVw7iH4Rwy3FmHn6" class="wolai-block"/><h4 id="vpJnfBURod39hQ7mqUPxBH" class="wolai-block"><span class="inline-wrap">3.1.2.6 转码服务存储配置更新</span></h4><div id="9pFbcqqfyNCp1Qm28HZfCz" 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 class="inline-wrap"><code>.env</code></span><span class="inline-wrap">文件,修改下面这些配置,如下图:</span></div></div><div id="8TCzBg8yxnSfkEQprDSMFj" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722498983920.png" style="width: 100%"/></figure></div><div id="jPFNsPJNZv9NAq971aTXs1" class="wolai-block wolai-text"><div><span class="inline-wrap">配置修改了之后,执行下面命令使得配置生效:</span></div></div><code-block id="mZjhMoHy1KpHiFzjHcBEJe" 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"># 销毁已有的转码服务容器</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="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="inline-wrap">),找到所需要的</span><span class="inline-wrap"><code>Bucket</code></span><span class="inline-wrap">进入其中,点击自定义源站域名,点击添加域名,如下图:</span></div></div><div id="kBfmtPozc4gVh6P1tBoq9v" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499557512.png" style="width: 100%"/></figure></div><div id="fJ1u2Awar2wtjrtFs5HP9h" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499742965.png" style="width: 100%"/></figure></div><div id="fP3rw4hXGKyTwgLWmgcgoK" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499767490.png" style="width: 100%"/></figure></div><div id="3QJjxmZhyXb2q27voNiSi2" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499785361.png" style="width: 100%"/></figure></div><div id="nxP9N15afFXwAgBud5LM8r" class="wolai-block wolai-text"><div><span class="inline-wrap">上述操作完成之后,我们回到</span><span class="inline-wrap"><code>playedu</code></span><span class="inline-wrap">后台系统配置-S3<span class="jill"></span>存储配置,修改</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">为最新的域名,如下图:</span></div></div><div id="p9AmzuNMuAzm6iGgUq6h1t" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722499979230.png" style="width: 100%"/></figure></div><div id="okrjqP8GSWh95qKEBq6oFW" class="wolai-block wolai-text"><div><span class="inline-wrap">同样,转码服务的</span><span class="inline-wrap"><code>endpoint</code></span><span class="inline-wrap">也需要修改,如下图:</span></div></div><div id="qHbUBHmuQ5fqbdKXeDG9oE" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722497211004_1.png" style="width: 100%"/></figure></div><ul class="wolai-block"><li id="7nxM6XixY4zU8owogz5eGF"><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>S3_ENDPOINT</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>S3_URL</code></span><span class="inline-wrap">配置值修改为您的</span><span class="inline-wrap"><code>自定义域名再移除<span class="jill"></span>bucket<span class="jill"></span>名称之后的域名</code></span><span class="inline-wrap">。举个例子,</span><span class="inline-wrap"><code>bucket</code></span><span class="inline-wrap">名称为</span><span class="inline-wrap"><code>playedu-commercial</code></span><span class="inline-wrap">,自定义域名是</span><span class="inline-wrap"><code>playedu-commercial.playedu.xyz</code></span><span class="inline-wrap">,那么这里应该配置</span><span class="inline-wrap"><code>https://playedu.xyz</code></span><span class="inline-wrap">即可。</span></li><li id="aFRD8qDJYAoBGbDs3vj6nR"><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>S3_USE_PATH_STYLE</code></span><span class="inline-wrap">的值配置为</span><span class="inline-wrap"><code>false</code></span></li></ul><div id="tQrKqvpptUe9KY3ymsaB7Z" class="wolai-block wolai-text"><div><span class="inline-wrap">配置完成之后,通过下面命令使得配置生效:</span></div></div><code-block id="hvwWtPMNej6ns4abH8mARv" 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"># 销毁已有的转码服务容器</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="width: 563px; flex-direction: column"><img src="media/image_39.png" style="width: 100%"/></figure></div><div id="j8y5Hir1Rn67vkNKX4HM7b" class="wolai-block wolai-text"><div><span class="inline-wrap">这里的 </span><span class="inline-wrap"><code>鉴权密钥(主)</code></span><span class="inline-wrap"> 就是后面我们需要的 </span><span class="inline-wrap"><code>cdn-key</code></span><span class="inline-wrap">。</span></div></div><hr id="mVpRsSKxj6XVxqxtCZyDEn" class="wolai-block"/><div id="iCcr1PaUoyBTYag5BDYfqS" class="wolai-block wolai-text"><div><span class="inline-wrap">将上述过程中的配置值配置到<span class="jill"></span>playedu<span class="jill"></span>系统设置-S3<span class="jill"></span>存储,如下图:</span></div></div><div id="iv2TtizesZhaNdMgBt3Kqh" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1722500587071.png" style="width: 100%"/></figure></div><hr id="mjx9hfvyESMb4FXTXY6ZnH" class="wolai-block"/><ul class="wolai-block"><li id="o8iDG2GjqgDAV2zdM4qVtd"><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>COS</code></span><span class="inline-wrap">的<span class="jill"></span>CDN<span class="jill"></span>加速之后,您需要额外购买</span><span class="inline-wrap"><code>COS</code></span><span class="inline-wrap">的套餐包(</span><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><span class="inline-wrap">)如下:</span><ul class="wolai-block"><li id="5mYSY8cwawwVjyNwP9Ay5G"><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>CDN<span class="jill"></span>回源流量包</code></span></li></ul><div id="bUTk6uy7jRzSMi2igpj7JD" class="wolai-block"><figure class="wolai-left" style="width: 100%; flex-direction: column"><img src="media/qq_1722500976490.png" style="width: 100%"/></figure></div></li><li id="vcpckGdYC1nt7tLkk1jf79"><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>CDN</code></span><span class="inline-wrap">的套餐包(购买地址:</span><span class="inline-wrap"><a href="https://buy.cloud.tencent.com/cdn_package"><span>https://buy.cloud.tencent.com/cdn_package</span></a></span><span class="inline-wrap">)如下:</span><ul class="wolai-block"><li id="irryCfZSaMbDETDSWVnhHV"><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="9xxaRVcyTawu1TtKFX6ifB"><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>HTTPS<span class="jill"></span>请求</code></span></li></ul><div id="q8QAXmAoQv9cwgWyTnKync" class="wolai-block"><figure class="wolai-left" style="width: 100%; flex-direction: column"><img src="media/qq_1722500933955.png" style="width: 100%"/></figure></div><div id="nfJ9LHLeBrh6KkEKptpNrb" class="wolai-block"><figure class="wolai-left" style="width: 100%; flex-direction: column"><img src="media/qq_1722500948617.png" style="width: 100%"/></figure></div></li></ul><hr id="vmoXQq1bFrFBXH6a352FZW" class="wolai-block"/><h2 id="eKX5nDFnf1agheG5ZqNx2" class="wolai-block"><span class="inline-wrap">3.2 通讯录集成</span></h2><h3 id="q2ds25T3VmtGcie83zScZA" class="wolai-block"><span class="inline-wrap">3.2.1 集成钉钉</span></h3><div id="6o9ayjZU1VxqevX5RNC64K" class="wolai-block wolai-text"><div><span class="inline-wrap">钉钉是主流的办公软件之一,有成百数千万家企业正在使用钉钉。从 PlayEdu 1.5 版本开始,已经支持集成钉钉。实现一键同步钉钉通讯录,钉钉账号扫码登录、钉钉内静默授权登录、通过钉钉发送督学通知等。</span></div></div><hr id="9znbAwks6uZ9g2usmpGofS" class="wolai-block"/><div id="hfod7SKukkdFhpBGU27TF7" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>创建自建应用</b></span></div></div><div id="q3eDxD12MAsyxsZNgU9CP8" class="wolai-block wolai-text"><div><span class="inline-wrap">浏览器打开网址:</span><span class="inline-wrap"><a href="https://open-dev.dingtalk.com/fe/app#/corp/app"><span>https://open-dev.dingtalk.com/fe/app#/corp/app</span></a></span></div></div><blockquote id="8xnijagoiHKoAKAcjgEyMW" class="wolai-block"><span class="inline-wrap">⚠️请注意⚠️:上述网址需要先进行钉钉管理员的账号登录。</span></blockquote><div id="bCfqEvykLkHM6UJJ7P8DeS" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_40.png" style="width: 100%"/></figure></div><div id="tVevKfQfSTNoU17bDfc4CZ" class="wolai-block"><figure class="wolai-center" style="width: 480px; flex-direction: column"><img src="media/image_41.png" style="width: 100%"/></figure></div><hr id="mKPUUvtPn6raEtUV2t8sCN" class="wolai-block"/><div id="5KCGL6zbNuxdjo5LfnJuJp" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>网址配置</b></span></div></div><div id="wWi2KJ3a4BWmFhk9LTDKam" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_42.png" style="width: 100%"/></figure></div><div id="5997GaQdk3zxqBMzKV8UxF" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_43.png" style="width: 100%"/></figure></div><hr id="mYHw7yqUuf4NkmVFx2UkQn" class="wolai-block"/><div id="pvLKD6NXT8PRJo1FZUBq8" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>获取应用配置值</b></span></div></div><div id="npzQyTJdu9DuRM4v1pXd14" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_44.png" style="width: 100%"/></figure></div><div id="ez84jU3mDxFu23nfQ2XGSm" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_45.png" style="width: 100%"/></figure></div><hr id="r29XzBR8qekFoi67Cmmfig" class="wolai-block"/><div id="oAPGNQuYgeDAQKzjb1MLja" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>应用权限配置</b></span></div></div><div id="aZsKsQtTdZT4RCx16Wu74e" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_46.png" style="width: 100%"/></figure></div><div id="oUf9vvFmGqfepiaF54xWdg" class="wolai-block wolai-text"><div><span class="inline-wrap">必要权限列表</span></div></div><span class="inline-wrap"></span><br/><span class="inline-wrap"></span><br/><div id="jp1nQrgXa1wHFLDfs6i3yg" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="Mj5fpCTFw7AUHsDK5kkQX" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="cpWt6iQqntSNZnax5FQ1TZ" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="7puTxSqXZhDDxpE1oCC666" class="wolai-block wolai-text"><div><span class="inline-wrap">通讯录个人信息读权限</span></div></div><span class="inline-wrap"></span><br/><div id="sckeLduFoStskAtTNyaPRi" class="wolai-block wolai-text"><div><span class="inline-wrap">调用<span class="jill"></span>SNS API<span class="jill"></span>时需要具备的基本权限</span></div></div><span class="inline-wrap"></span><br/><div id="n4UWPCHdeRh281KuRHfCtx" class="wolai-block wolai-text"><div><span class="inline-wrap">以用户的个人身份创建或更新个人待办数据</span></div></div><span class="inline-wrap"></span><br/><div id="ncAomL8xwAe3oaAqa4uR58" class="wolai-block wolai-text"><div><span class="inline-wrap">Contact.User.Read</span></div></div><span class="inline-wrap"></span><br/><div id="mDYivyVnbV1ny91tZRaMN9" class="wolai-block wolai-text"><div><span class="inline-wrap">snsapi_base</span></div></div><span class="inline-wrap"></span><br/><div id="u97ecvj6EXp557kJKmwRjb" class="wolai-block wolai-text"><div><span class="inline-wrap">Todo.PersonalTodo.Write</span></div></div><span class="inline-wrap"></span><br/><div id="xoJUqMAke7nMDDaRwmsKE7" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="heUEPfoSjo9izMzittbUdF" class="wolai-block wolai-text"><div><span class="inline-wrap">待办应用中待办读权限</span></div></div><span class="inline-wrap"></span><br/><div id="nK831dfHyG683PbSJ1xP2L" class="wolai-block wolai-text"><div><span class="inline-wrap">Todo.Todo.Read</span></div></div><span class="inline-wrap"></span><br/><div id="hx2NCE6nM1DbqJeqFLifB7" class="wolai-block wolai-text"><div><span class="inline-wrap">待办任务</span></div></div><div id="bERXa5M5vd3guCpcmNyeaU" class="wolai-block wolai-text"><div><span class="inline-wrap"></span><br/></div></div><span class="inline-wrap"></span><br/><div id="aLS4ZxQ5fKrhQ5RSrRtGD2" class="wolai-block wolai-text"><div><span class="inline-wrap">待办应用中待办写权限</span></div></div><span class="inline-wrap"></span><br/><div id="wxRMRipoVcmTCgonMgfTQG" class="wolai-block wolai-text"><div><span class="inline-wrap">Todo.Todo.Write</span></div></div><span class="inline-wrap"></span><br/><div id="v9LPUzgvMndE88n2xoQtB4" class="wolai-block wolai-text"><div><span class="inline-wrap">获取凭证</span></div></div><span class="inline-wrap"></span><br/><div id="xBewspxtDX1btacHeA1YE5" class="wolai-block wolai-text"><div><span class="inline-wrap">获取钉钉开放接口用户访问凭证的基础权限</span></div></div><span class="inline-wrap"></span><br/><div id="pcuvsMUjh6zY2xijEALXQP" class="wolai-block wolai-text"><div><span class="inline-wrap">open_app_api_base</span></div></div><span class="inline-wrap"></span><br/><div id="dkmfmzj8zMYejiDqzcyZjj" class="wolai-block wolai-text"><div><span class="inline-wrap">身份验证</span></div></div><span class="inline-wrap"></span><br/><div id="fCnRXwKjK6n9iyALpbMPwW" class="wolai-block wolai-text"><div><span class="inline-wrap">企业微应用后台免登接口的访问权限</span></div></div><span class="inline-wrap"></span><br/><div id="pgZEP4MAXGv6BHR5vcuh4G" class="wolai-block wolai-text"><div><span class="inline-wrap">qyapi_get_omp_sso_userinfo</span></div></div><span class="inline-wrap"></span><br/><div id="qR9NceRayKAHqyc4uerjHS" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="hmAt5wujfVCJpeMXaW8y1y" class="wolai-block wolai-text"><div><span class="inline-wrap">通讯录组织基础信息读权限</span></div></div><span class="inline-wrap"></span><br/><div id="m4d4vR454x4mcSfTDAyMzz" class="wolai-block wolai-text"><div><span class="inline-wrap">Contact.Org.Read</span></div></div><span class="inline-wrap"></span><br/><div id="8sYevB5eHLDEUFbG3p9rU4" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="j6ZouBeiVPJpXE5Qq8hU6n" class="wolai-block wolai-text"><div><span class="inline-wrap">通讯录部门成员读权限</span></div></div><span class="inline-wrap"></span><br/><div id="esictuJhfSSnhkQLfegkLR" class="wolai-block wolai-text"><div><span class="inline-wrap">qyapi_get_department_member</span></div></div><span class="inline-wrap"></span><br/><div id="x4t8vZMiujjGt4w17egjWG" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="rmdU1fyHSKZFNVcQPV57DX" class="wolai-block wolai-text"><div><span class="inline-wrap">根据手机号获取成员基本信息权限</span></div></div><span class="inline-wrap"></span><br/><div id="7u2smgVLnmSau8fsqjHwJR" class="wolai-block wolai-text"><div><span class="inline-wrap">qyapi_get_member_by_mobile</span></div></div><span class="inline-wrap"></span><br/><div id="5ANtVYT567awQogZkimz7k" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="nSrJCYPVXiGqWvHdnfcsEZ" class="wolai-block wolai-text"><div><span class="inline-wrap">成员信息读权限</span></div></div><span class="inline-wrap"></span><br/><div id="cuJK7K9Kuy9K9pUbMzM1xD" class="wolai-block wolai-text"><div><span class="inline-wrap">qyapi_get_member</span></div></div><span class="inline-wrap"></span><br/><div id="bqceycJhf94MQ7oAG7oqJY" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="mDDwG3tPmJbmratJBzjiC5" class="wolai-block wolai-text"><div><span class="inline-wrap">通讯录部门信息读权限</span></div></div><span class="inline-wrap"></span><br/><div id="fsoC66bnSwcnFGgXFJFhqa" class="wolai-block wolai-text"><div><span class="inline-wrap">qyapi_get_department_list</span></div></div><span class="inline-wrap"></span><br/><div id="mYypv4Z9A5KvScU2ZcDXqe" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="dVgWx3TujD7vzGuRVqvib" class="wolai-block wolai-text"><div><span class="inline-wrap">邮箱等个人信息</span></div></div><span class="inline-wrap"></span><br/><div id="o9EisrYaWBNkSPucVy5uM" class="wolai-block wolai-text"><div><span class="inline-wrap">fieldEmail</span></div></div><span class="inline-wrap"></span><br/><div id="rCVGjz8yRJymvEeMEwgLeW" class="wolai-block wolai-text"><div><span class="inline-wrap">个人权限</span></div></div><div id="k8wHMwsM3TEapCi7wk2RN7" class="wolai-block wolai-text"><div></div></div><div id="aquVJ32bZz7GRANYfS8bB3" class="wolai-block wolai-text"><div></div></div><div id="iy3QXZrpMuSCVm9vDVYBnM" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="orm7x19bkQKW27xVnEPpTV" class="wolai-block wolai-text"><div><span class="inline-wrap">个人手机号信息</span></div></div><span class="inline-wrap"></span><br/><div id="oe5ojGUs6FtBAiLuaLRxC8" class="wolai-block wolai-text"><div><span class="inline-wrap">Contact.User.mobile</span></div></div><span class="inline-wrap"></span><br/><div id="7HtusEiPSAamEhhf74wK5x" class="wolai-block wolai-text"><div><span class="inline-wrap">通讯录管理</span></div></div><div id="asn7JY2PvYptG6SouqYePb" class="wolai-block wolai-text"><div></div></div><div id="5HhkoEZb3fUMg2vyyhjcg8" class="wolai-block wolai-text"><div></div></div><div id="tKVbiDGAH5AKDW2VTpDQGj" class="wolai-block wolai-text"><div></div></div><div id="6F3zJ9b7xcgt66wZFqLUYW" class="wolai-block wolai-text"><div></div></div><div id="6MXEQo2BEzQSea95p3CNx7" class="wolai-block wolai-text"><div></div></div><div id="qdo2jvh5EjQavMaNobQsEp" class="wolai-block wolai-text"><div></div></div><span class="inline-wrap"></span><br/><div id="3e3JyuYsCofAxYWEfeWpDc" class="wolai-block wolai-text"><div><span class="inline-wrap">企业员工手机号信息</span></div></div><span class="inline-wrap"></span><br/><div id="n3i4HNtdhTBY9cquXgF8a3" class="wolai-block wolai-text"><div><span class="inline-wrap">fieldMobile</span></div></div><hr id="7G2iu7zvLzFHmfkNTtNjy9" class="wolai-block"/><div id="gS5WMV56M67kNLfEgojnWu" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>安全配置</b></span></div></div><div id="ncRPu7kfZNVYVFcX42hG2t" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_47.png" style="width: 100%"/></figure></div><hr id="k4aECLboeuHNQ3EkMNLr6d" class="wolai-block"/><div id="i7BeP8xeuw32WYN7HdxzqH" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>授权登录</b></span></div></div><div id="on23KfF7tW4yhxCBfVTsTW" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_48.png" style="width: 100%"/></figure></div><h3 id="7mKWrXQR8qMje7J846NgE3" class="wolai-block"><span class="inline-wrap">3.2.2 集成企业微信</span></h3><div id="64WmX7NiLyYHvLBiUbVVS1" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>自建应用</b></span><span class="inline-wrap">。登录到企业微信的控制台,地址:</span><span class="inline-wrap"><a href="https://work.weixin.qq.com/wework_admin/frame"><span>https://work.weixin.qq.com/wework_admin/frame</span></a></span></div></div><div id="viG7x4udyNfqnvrmM912L5" class="wolai-block"><figure class="wolai-center" style="width: 742px; flex-direction: column"><img src="media/image_49.png" style="width: 100%"/></figure></div><div id="3i4U5a8buyvUxy1zDxtT71" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_50.png" style="width: 100%"/></figure></div><div id="fMcz7d3phnepAVLG3neUDZ" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_51.png" style="width: 100%"/></figure></div><hr id="mPQuX2mT9UtvutmhU88XhU" class="wolai-block"/><div id="ua5U4La2qAU9vaJXV42c4e" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>获取自建应用配置值</b></span></div></div><div id="uHwGtpkWiUPKEbHBB6hoN7" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_52.png" style="width: 100%"/></figure></div><div id="dSLHsJHabbMg84XZWbbRup" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_53.png" style="width: 100%"/></figure></div><div id="fP9GLhQyAz3G65mv1VqoGF" class="wolai-block wolai-text"><div><span class="inline-wrap">这里的 AgentId 和 Secret 是我们需要的信息。</span></div></div><hr id="hoMr8m9kumHF32s3E9ctRZ" class="wolai-block"/><div id="8errc1U34RiyFp43hp824J" class="wolai-block wolai-text"><div><span class="inline-wrap">设置应用主页</span></div></div><div id="5XLz7nPtWFGLiGVb2kwNfw" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892617157.png" style="width: 100%"/></figure></div><div id="hDQGdX1x9C3T1CDEB6zJbJ" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892639600.png" style="width: 100%"/></figure></div><div id="8Dif1QU5TJ4k1rG32s1it" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892664863.png" style="width: 100%"/></figure></div><hr id="f1JRxQ2R143kbBERUo12s4" class="wolai-block"/><div id="wbDZv4qjCtxVVYRq1bzGKW" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>获取企业<span class="jill"></span>ID</b></span></div></div><div id="bMXkofh5iD4UPWYQ6fSNYC" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_54.png" style="width: 100%"/></figure></div><div id="h6rFc9UeuVNRVSsVRhZhNb" class="wolai-block"><figure class="wolai-center" style="width: 544px; flex-direction: column"><img src="media/image_55.png" style="width: 100%"/></figure></div><hr id="sxGD9YcV6JDq7BAWSA6Vfq" class="wolai-block"/><div id="pqxafpCY3Fc7qDgMgpvjHh" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>将上述配置值配置到<span class="jill"></span>playedu<span class="jill"></span>系统中</b></span></div></div><div id="mg5azM1QDggQtq3HsT2dSq" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_56.png" style="width: 100%"/></figure></div><hr id="iDs1Y69oqJCGjWtz753FhQ" class="wolai-block"/><div id="nJgk7hZvV96XZo1AZVk8uC" class="wolai-block wolai-text"><div><span class="inline-wrap">H5(手机端口)</span><span class="inline-wrap"><b>授权域名配置</b></span></div></div><div id="rZyZPtrmnoPsmy86g1aqGa" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892740193.png" style="width: 100%"/></figure></div><div id="p6M8MwKLH7sRepvCMeWc39" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892818311.png" style="width: 100%"/></figure></div><hr id="5FPxuiV1XJGxuhXrMLsd7L" class="wolai-block"/><div id="fx8acvCGbFcaCUGohx6Q9E" class="wolai-block wolai-text"><div><span class="inline-wrap">PC(电脑)端口的企业微信扫码登录域名白名单配置</span></div></div><div id="rT38RChVXSLbvy68d8YTns" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892857810.png" style="width: 100%"/></figure></div><div id="6dtAx3g6Cj895euYruZjQU" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892904896.png" style="width: 100%"/></figure></div><div id="vz3AcArgX5eTAwUA4YCKQK" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892937129.png" style="width: 100%"/></figure></div><hr id="wsCZPqpzDHVjZuHRZ5mr73" class="wolai-block"/><div id="bgjZxvn7Z8M51zUZFUfkKJ" class="wolai-block wolai-text"><div><span class="inline-wrap">企业可信<span class="jill"></span>IP<span class="jill"></span>配置</span></div></div><div id="8RFPLos9PVtAmaRQokfMB" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892959010.png" style="width: 100%"/></figure></div><div id="j6zRFt1d1hfhMCKRFaYpBT" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/qq_1721892987021.png" style="width: 100%"/></figure></div><hr id="2FAU3YnkdqoPzWdVEDXpFS" class="wolai-block"/><div id="3vEdV6ad6ajWVsyqszAPgw" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>从企业微信中访问自建应用</b></span></div></div><div id="7z4WjBKsFYUGA1Mox2hD4n" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_57.png" style="width: 100%"/></figure></div><hr id="edykZtzFrrTkzNMm9SKqt4" class="wolai-block"/><h3 id="pQeXXJZwD7NB1N6Lcd1EAu" class="wolai-block"><span class="inline-wrap">3.2.3 集成飞书</span></h3><div id="5BAvamtFaHQurtbkBNymHF" class="wolai-block wolai-text"><div><span class="inline-wrap">飞书,先进企业协作与管理平台——集即时沟通、日历、音视频会议、云文档、云盘、工作台等功能于一体,成就组织和个人,更高效、更愉悦。在大陆,成千上百万的企业客户正在使用着飞书,考虑到这部分客户,我们在 PlayEdu 中实现了飞书<span class="jill"></span>OA<span class="jill"></span>系统的集成。实现了一键同步通讯录、飞书免登录、督学消息通知等。</span></div></div><hr id="vUaTboXnmuia31T8EA4S8y" class="wolai-block"/><div id="ivvdx68ygiunxvRJNyvmht" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>自建应用</b></span></div></div><div id="mUw6iJe2BgsZQox3Epm23Z" class="wolai-block wolai-text"><div><span class="inline-wrap">浏览器打开网址:</span><span class="inline-wrap"><a href="https://open.feishu.cn/app"><span>https://open.feishu.cn/app</span></a></span></div></div><blockquote id="tWCb1p8AnWRuiVgsJmmdaH" class="wolai-block"><span class="inline-wrap">⚠️请注意⚠️:打开这个网址接下来的操作需要您先登录飞书管理员账号的。</span></blockquote><div id="ubd8iwyXFmN8cTy79SES2R" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_58.png" style="width: 100%"/></figure></div><div id="iw2kYrnFqcZsUumir9emwj" class="wolai-block"><figure class="wolai-center" style="width: 606px; flex-direction: column"><img src="media/image_59.png" style="width: 100%"/></figure></div><hr id="eX8T1EfDyTq7b2oygmXTK9" class="wolai-block"/><div id="7N3884eeAoZAf9mhvcgthZ" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>获取配置</b></span></div></div><div id="5M76zcJaYC3TyzfwPjeAfc" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_60.png" style="width: 100%"/></figure></div><div id="u3gjBTzV1zasVaQN6yZL8u" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_61.png" style="width: 100%"/></figure></div><hr id="cCms5o3vjA1Ang9GU7H74a" class="wolai-block"/><div id="k2pBd46VrpWcCzz3aE34vp" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>自建应用权限配置</b></span></div></div><div id="dnj9Q1KUMuf2dpEnmwjYfY" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_62.png" style="width: 100%"/></figure></div><div id="4XGsMbYuZJLHa13AVtovHw" class="wolai-block wolai-text"><div><span class="inline-wrap">需要开通的权限如下:</span></div></div><div id="ik8WLFrvDS3uo3hWef45PK" class="wolai-block wolai-simple-table"><table><thead><tr><th style="width: 210px"><span class="inline-wrap">权限</span></th><th style="width: 374px"><span class="inline-wrap">代码</span></th></tr></thead><tbody><tr><td><span class="inline-wrap"><code>更新通讯录</code></span></td><td><span class="inline-wrap"><code>contact:contact</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取通讯录基本信息</code></span></td><td><span class="inline-wrap"><code>contact:contact.base:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>以应用身份读取通讯录</code></span></td><td><span class="inline-wrap"><code>contact:contact:readonly_as_app</code></span></td></tr><tr><td><span class="inline-wrap"><code>更新部门 ID</code></span></td><td><span class="inline-wrap"><code>contact:contact:update_department_id</code></span></td></tr><tr><td><span class="inline-wrap"><code>更新用户 ID</code></span></td><td><span class="inline-wrap"><code>contact:contact:update_user_id</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取部门基础信息</code></span></td><td><span class="inline-wrap"><code>contact:department.base:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>查询部门 HRBP 信息</code></span></td><td><span class="inline-wrap"><code>contact:department.hrbp:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取通讯录部门组织架构信息</code></span></td><td><span class="inline-wrap"><code>contact:department.organize:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>查看、创建、修改、删除角色及角色成员</code></span></td><td><span class="inline-wrap"><code>contact:functional_role</code></span></td></tr><tr><td><span class="inline-wrap"><code>查询角色信息、角色下的成员信息</code></span></td><td><span class="inline-wrap"><code>contact:functional_role:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取用户 user ID</code></span></td><td><span class="inline-wrap"><code>contact:user.employee_id:readonly</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取与发送单聊、群组消息</code></span></td><td><span class="inline-wrap"><code>im:message</code></span></td></tr><tr><td><span class="inline-wrap"><code>以应用的身份发消息</code></span></td><td><span class="inline-wrap"><code>im:message:send_as_bot</code></span></td></tr><tr><td><span class="inline-wrap"><code>给一个或多个部门的成员批量发消息</code></span></td><td><span class="inline-wrap"><code>im:message:send_multi_depts</code></span></td></tr><tr><td><span class="inline-wrap"><code>给多个用户批量发消息</code></span></td><td><span class="inline-wrap"><code>im:message:send_multi_users</code></span></td></tr><tr><td><span class="inline-wrap"><code>获取企业信息</code></span></td><td><span class="inline-wrap"><code>tenant:tenant:readonly</code></span></td></tr></tbody></table></div><hr id="wzDq18nhZa9WGB7fQobgGT" class="wolai-block"/><div id="mAa7nAAS9QYCdAZ9jBVqGT" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>应用安全配置</b></span></div></div><div id="oSgiKgtwggt17ZYPAdEHnM" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_63.png" style="width: 100%"/></figure></div><hr id="xd7MVQXddtm4fAH4HkNWZJ" class="wolai-block"/><h3 id="9qeoRAMAeML53zCehDL67X" class="wolai-block"><span class="inline-wrap">3.2.4 LDAP<span class="jill"></span>集成</span></h3><div id="2M255S13ZtVXYLKhzrQNcN" class="wolai-block wolai-text"><div><span class="inline-wrap">我们根据<span class="jill"></span>playedu<span class="jill"></span>系统后台的<span class="jill"></span>LDAP<span class="jill"></span>配置项进行讲解并配置:</span></div></div><div id="u2TTi3Ypqu4nFwydWSPU7F" class="wolai-block"><figure class="wolai-center" style="width: 100%; flex-direction: column"><img src="media/image_64.png" style="width: 100%"/></figure></div><hr id="o9pyjby6NWanA5AGAbBWeM" class="wolai-block"/><div id="4YiighmyARQC1jwnCzLv9L" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>服务地址</b></span></div></div><div id="jHYuoeUq7zCKo4oicnCEYE" class="wolai-block wolai-text"><div><span class="inline-wrap">服务地址的一般格式是 </span><span class="inline-wrap"><code>ldap://服务器<span class="jill"></span>IP:389</code></span><span class="inline-wrap"> ,举个例子如:</span><span class="inline-wrap"><code>ldap://127.0.0.1:389</code></span><span class="inline-wrap"> 。需要注意以下几点:</span></div></div><ul class="wolai-block"><li id="cd2aT4VAKTMYKpRQVCJGb4"><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>ldap://</code></span><span class="inline-wrap"> 开头</span></li><li id="xfus7L9TnPUzrgVeopTbDa"><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">有的客户的 LDAP 服务端口号是 </span><span class="inline-wrap"><code>636</code></span><span class="inline-wrap"> 也就是 LDAP 服务开启了<span class="jill"></span>SSL<span class="jill"></span>证书访问</span></li></ul><hr id="5cg4CgCYVDTcSz58rztEd5" class="wolai-block"/><div id="34sDep9qqiUax35PKxi1Zs" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>用户名/密码</b></span></div></div><div id="cnPSPPoWbyBP776MW5sGLv" class="wolai-block wolai-text"><div><span class="inline-wrap">Window AD 域的客户可以直接填写邮箱,如下截图:</span></div></div><div id="dCExB8e6fet4EG3QAh7KkT" class="wolai-block"><figure class="wolai-center" style="width: 480px; flex-direction: column"><img src="https://forum-cos.playedu.xyz/images/user-1/4sIRHY9Q3gUeo7lh." style="width: 100%"/></figure></div><div id="uBbNZ539JXrdeiAy1stcmW" class="wolai-block wolai-text"><div><span class="inline-wrap">密码就是账户的密码了。</span></div></div><hr id="vcEprFEYyVh2ohoUJ3VTTJ" class="wolai-block"/><div id="3UwyUL8aomQwEHb91gtyyK" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>基本<span class="jill"></span>DN</b></span></div></div><div id="v94vCMkpjgKUFBBWtdMqnQ" class="wolai-block wolai-text"><div><span class="inline-wrap">举个例子:</span><span class="inline-wrap"><code>ou=baishu,dc=playedu,dc=xyz</code></span></div></div><div id="gLBeRUiCTUKFNRN8CtiubX" class="wolai-block wolai-text"><div><span class="inline-wrap">从示例值举例说明: </span><span class="inline-wrap"><code>dc=playedu,dc=xyz</code></span><span class="inline-wrap"> 是基域, </span><span class="inline-wrap"><code>ou=baishu</code></span><span class="inline-wrap"> 是组织名为 </span><span class="inline-wrap"><code>baishu</code></span><span class="inline-wrap"> 的组织。示例配置的值就是限制 </span><span class="inline-wrap"><code>ou=baishu</code></span><span class="inline-wrap"> 的学员可以登录。</span></div></div><div id="9qHtwJ1u3stK3dN3fFpqTq" class="wolai-block wolai-text"><div><span class="inline-wrap">如果你想要让全部用户都可以登录学习,可以去掉 </span><span class="inline-wrap"><code>ou=baishu</code></span><span class="inline-wrap"> 的配置只填写基域 </span><span class="inline-wrap"><code>dc=playedu,dc=xyz</code></span></div></div><hr id="nsLLHWvFfLe7ib8uVw86fc" class="wolai-block"/><div id="7162G5gscYgVb6AnwCB3EP" class="wolai-block wolai-text"><div><span class="inline-wrap"><b>搜索范围</b></span></div></div><div id="g1VEk2C5Y6ycDjMWGu5pXZ" class="wolai-block wolai-text"><div><span class="inline-wrap">搜索范围也就是限制通讯录自动同步可以同步的组织范围。下面举个例子,如果你的基域下存在多个</span><span class="inline-wrap"><code>OU</code></span><span class="inline-wrap">的话,比如有:</span><span class="inline-wrap"><code>OU=上海</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>OU=浙江</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>OU=广东</code></span><span class="inline-wrap">如果您只想要同步</span><span class="inline-wrap"><code>上海</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>浙江</code></span><span class="inline-wrap">下的学员的话,那么搜索范围就可以配置为:</span><span class="inline-wrap"><code>OU=上海<and>OU=浙江</code></span><span class="inline-wrap">。</span></div></div><hr id="9Apb6QeSNXxqYBrV9fMaLR" class="wolai-block"/><div id="dZN24yG2CARrZ8ozESuHap" class="wolai-block wolai-text"><div><span class="inline-wrap">排除范围</span></div></div><div id="k1Po9nRmSJaboaRkP42Bkd" class="wolai-block wolai-text"><div><span class="inline-wrap">排除范围就是排除掉不需要的部门同步。下面举个例子,如果你的基域下存在多个</span><span class="inline-wrap"><code>OU</code></span><span class="inline-wrap">的话,比如有:</span><span class="inline-wrap"><code>OU=上海</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>OU=浙江</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>OU=广东</code></span><span class="inline-wrap">,</span><span class="inline-wrap"><code>OU=江苏</code></span><span class="inline-wrap">如果您只想要同步</span><span class="inline-wrap"><code>上海</code></span><span class="inline-wrap">和</span><span class="inline-wrap"><code>浙江</code></span><span class="inline-wrap">下的学员的话,那么搜索范围就可以配置为:</span><span class="inline-wrap"><code>OU=广东<and>OU=江苏</code></span><span class="inline-wrap">。</span></div></div><hr id="wsrTZcYPh4LNX6d5L2ypGH" class="wolai-block"/><h1 id="hu4URMRMoteTSrBDgTdAYE" class="wolai-block"><span class="inline-wrap">四、升级系统</span></h1><div id="gamyYNTkoPbSUJDrFXrctR" class="wolai-block wolai-text"><div><span class="inline-wrap">用最新程序覆盖老的程序之后,执行下面的命令完成程序的升级:</span></div></div><code-block id="ezBwuuQeFuQ6ETRnBEqQec" 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">docker</span> compose down playedu document
|
||
|
||
<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> |