场景简介
本场景介绍使用函数计算服务搭建一个掌上游戏机。使用Serverless Devs命令行工具可以将很多框架、应用、案例一键部署到函数计算平台中。
重要
法律声明:本平台仅提供部署掌上游戏机的工具及开发环境,涉及部署游戏机内的内容和游戏,均由用户自行上传。本平台严禁用户上传违反国家法律法规及公序良俗的游戏内容。本平台有权对涉及任何违法违规的游戏内容进行删除或下架。上传游戏的用户需自行对内容涉嫌侵犯他人合法权益的后果承担法律责任。
背景知识
本场景主要涉及以下云产品和服务:
函数计算(FunctionCompute)
函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。函数计算帮助您无需管理服务器(Serverless),仅专注于函数代码就能快速搭建应用。函数计算能够弹性地伸缩,您只需要按使用量付费。
Serverless Devs开发者工具
Serverless Devs是一个组件化与插件化的Serverless开发者平台,开发者可以在平台中可插拔式的使用不同Serverless的服务和框架,同时可参与组件和插件的开发。无论是工业级的Serverless服务,还是各类开源的Serverless框架,Serverless Devs都可友好支持。开发者无需对市面上每一款Serverless工具进行研究和学习,只需通过Serverless Devs,就可以简单、快捷的“上手”主流Serverless服务和框架。
前提条件
云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。
重要
本实验预计1个小时产生费用0.3元。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
创建实验资源
重要
首次开通函数计算的用户可以领取免费试用额度进行体验,领取方式请查看第四页内容。
在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》和我已授权阿里云云起实践平台创建、读取及释放实操相关资源后,单击开始实操。
创建资源需要5分钟左右的时间,请您耐心等待。
在云产品资源列表,您可以查看本场景涉及的云产品资源信息。

首次开通函数计算用户,可先领取免费额度
前往函数计算控制台。

在推荐您创建 AliyunFcDefaultRole默认角色对话框中,单击创建。

在角色快捷创建页面,单击同意授权。

在实验操作面板顶部,单击
图标打开新的标签页,然后在地址栏中输入如下地址并回车,访问免费试用页面。
https://free.aliyun.com/?spm=a2c6h.29426672.J_5391097900.2.5965729bb9DtAC&productCode=fc

在免费试用页面,找到函数计算FC卡片,单击立即试用。

在函数计算FC面板,勾选服务协议,单击立即试用。
说明
函数计算为首次开通服务的用户提供相应的试用额度,阿里云账户与RAM用户共享此试用额度。试用额度以月为周期,连续提供12个周期,每个周期超出试用额度的部分均会计入按量付费。

安全设置
资源创建完成后,为了保护您阿里云主账号上资源的安全,请您重置云服务器ECS的登录密码、设置安全组端口。
重置云服务器ECS的登录密码。
在云产品资源列表的ECS云服务器区域,单击管理。

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

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

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

设置安全组端口。
在云产品资源列表的安全组区域,单击管理。

在访问规则区域的入方向中,添加SSH(22)端口。


创建阿里云AccessKey
重要
在本实验完成后,若不再使用,建议参考实验手册步骤及时删除阿里云AccessKey。
前往AccessKey管理。
在不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。

在AccessKey页面,单击创建AccessKey。

根据界面提示完成安全验证。
在创建云账号AccessKey对话框,再次阅读创建主账号AccessKey的风险及主账号AccessKey使用限制,如果确定要创建主账号AccessKey,则勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey。

在创建AccessKey对话框,保存AccessKey ID和AccessKey Secret,然后勾选我已保存好AccessKey Secret,最后单击确定。

安装Serverless Devs命令行工具
在云产品资源列表的ECS云服务器区域,单击远程连接。

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

安装Node.js环境。
执行如下命令,下载Node.js安装包。
wget https://registry.npmmirror.com/-/binary/node/v12.4.0/node-v12.4.0-linux-x64.tar.xz
执行如下命令,解压安装包并重命名。
tar -xvf node-v12.4.0-linux-x64.tar.xz && mv node-v12.4.0-linux-x64/ /usr/local/node
执行如下命令,配置环境变量。
echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile
source /etc/profile
执行如下命令,安装Serverless-Devs工具。
npm --registry=https://registry.npmmirror.com install @serverless-devs/s -g
返回结果如下,表示安装完成。

执行如下命令,查看版本并检查安装是否正确。
返回结果如下,您可以看到Serverless-Devs工具的版本。

配置阿里云账号信息
本场景提供免费的ECS服务器,但是使用的函数计算服务是开通在您账号下,以下配置信息也是需要配置您账号的AK ID和AK Secret信息。
执行如下命令,配置账号信息。
然后根据提示填写以下信息。
配置成功后,您将收到以下提示。

搭建掌上游戏机项目
重要
法律声明:本平台仅提供部署掌上游戏机的工具及开发环境,涉及部署游戏机内的内容和游戏,均由用户自行上传。本平台严禁用户上传违反国家法律法规及公序良俗的游戏内容。本平台有权对涉及任何违法违规的游戏内容进行删除或下架。上传游戏的用户需自行对内容涉嫌侵犯他人合法权益的后果承担法律责任。
执行如下命令,在当前路径初始化一个掌上游戏机项目。
为要创建的项目输入一个名称,本示例中为fc-nes-game。

选择默认凭据后按按回车。

返回结果如下,表示初始化完成。

执行如下命令,进入fc-nes-game目录。
执行如下命令,部署掌上游戏机项目。
返回结果如下,表示安装掌上游戏机项目部署完成,并复制的url。

打开手机浏览器,在浏览器地址栏粘贴URL并访问。如果出现如下界面,表示部署成功,并用手机扫描二维码,即可开始畅玩掌上游戏机。
