

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>
阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>
本文介绍如何在阿里云云服务器ECS上基于Alibaba Cloud Linux3.2104 LTS 64位 ARM版操作系统搭建高可用的小程序服务端,并在本地开发一个简单的支付宝小程序(ECS小助手),通过远程调用部署在ECS上的服务端,实现在小程序中输入框输入ECS实例ID查询实例详细信息的功能。
部署高可用的小程序服务需要2台ECS实例(Alibaba Cloud Linux3.2104 LTS 64位 ARM版)、1台CLB实例。具体操作,请参见ECS实例创建方式介绍和创建和管理CLB实例。 本教程配置: 云服务器ECS 地域:华北2(北京) 操作系统:Alibaba Cloud Linux3.2104 LTS 64位 ARM版 实例规格配置:2核4 GB 实例数量:2(ECS01、ECS02) 其他参数:保持默认值或按需选择 传统型负载均衡CLB 地域与可用区:选择与ECS实例相同的地域,本教程选择华北2(北京) 实例规格配置:按需创建 实例计费方式:按使用量计费 实例类型:公网 实例数量:1 IP 版本:IPv4 一键配置 手动配置 准备好资源后,您可以通过一键配置快速完成资源配置或应用搭建。一键配置基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,旨在帮助开发者通过IaC(Infrastructure as Code)的方式体验资源的自动化配置。如需查看软件版本、安装命令等配置的具体信息,可查看教程的手动配置版。模板完成的内容包括: 为ECS实例配置安全组 创建角色并绑定到ECS实例 安装Nginx服务并写入配置 安装uWSGI Server并写入配置 安装Python环境并写入代码 打开一键配置模板链接前往ROS控制台,系统自动打开使用新资源创建资源栈的面板,并在模板内容区域展示YAML文件的详细信息。 ROS控制台默认处于您上一次访问控制台时的地域,请根据您创建的资源所在地域修改地域。您可以在顶部导航栏选择华北2(北京)地域,保持页面所有选项不变,单击下一步进入配置模板参数页面。 在配置模板参数页面修改资源栈名称,选择您申请免费试用时创建的ECS实例,设置要创建的用于ECS实例扮演的角色名称,选择创建的CLB实例。填写完所有必选信息并确认后单击创建开始一键配置。 当资源栈信息页面的状态显示为创建成功时表示一键配置完成。 开发支付宝小程序前需要您入驻支付宝开放平台,具体操作请参见开发者入驻。 进入支付宝开放平台注册页根据指引填写信息和提交相应的资料,完成账号申请。 在支付宝开放平台上创建小程序应用,具体操作请参见创建小程序。 说明 您可以通过此账号关联本地开发项目和小程序,上传您的小程序项目到支付宝开放平台。 启动好后端服务后,我们接下来要开发小程序。先安装小程序开发环境。 安装Node.js开发环境,请到Node.js页面下载并安装Node.js环境。 下载并安装支付宝小程序开发者工具。详细信息请参见下载说明。 打开小程序开发者工具。 单击加号创建支付宝小程序空白项目。 按照流程,选择支付宝,模板选择空白模板,填入如下项目信息后,单击完成。 项目名称:例如ECSAssistant。 项目路径:例如/Users/demo/ECSAssistant。 框架语言:原生小程序。 安装好开发环境后,我们来编写小程序代码。 生成的小程序示例项目结构如下。 可以看到小程序的项目结构中有三个前缀为app的文件,它们定义了小程序的全局配置。 小程序所有的页面文件都在pages/路径下,页面文件有四种文件类型,分别是.js、.axml、.acss(可选)和.json后缀的文件。相比全局配置文件,页面配置文件只对当前页面生效。其中.axml文件定义了当前页面的页面结构。 此外,小程序中的所有页面都需要在app.json文件中声明。 更多配置请参见小程序全局配置介绍。 app.json 应用配置。用于配置小程序的页面列表、默认窗口标题、导航栏背景色等。 app.acss 应用样式。定义了全局样式,作用于当前小程序的所有页面。 app.js 应用逻辑。可用于注册小程序应用,可配置小程序的生命周期,声明全局数据,调用丰富的 API。 编辑app.json文件,将小程序页面Title修改为ECS小助手,修改后的app.json文件内容如下。 在pages/index目录下,编辑index.axml文件,定义index页面的页面结构,修改后的index.axml文件内容如下。 说明 AXML中标签写法和HTML类似,并且支持使用变量表达式进行模板渲染,更多请参见AXML 介绍。支付宝小程序内置了丰富的UI组件,更多请参见基础组件概览。 在pages/index目录下,新建index.acss文件,定义index的页面样式,将index.acss文件内容替换为右侧代码。 在pages/index目录下,编辑index.js文件,定义搜索框的失去焦点事件,修改后的index.js文件内容如下。 说明 支付宝提供了丰富的前端API和服务端API,您可以基于这些API来实现您的小程序功能,更多请参见小程序 API 使用说明。 代码中<CLB_PUBLIC_IP>替换为您创建的CLB实例的公网IP地址。 保存后,编辑器会自动刷新,看到如下界面,表示小程序运行成功了。 完成以上操作后,您已经成功部署了服务端程序,并且在本地开发好了小程序。 您可以登录ECS控制台,复制刚刚创建的ECS实例ID,输入到小程序输入框中,就可以看到结果了。 您可以通过停机一台ECS模拟故障进而验证服务的可用性。操作如下: 登录ECS控制台,找到目标实例,在操作列单击 等ECS状态为已停止后,再次在小程序中查询ECS实例ID,看到返回正常内容,则表明服务可用。 小程序界面的示意图如下:步骤一:准备环境和资源
步骤二:配置资源并搭建服务
操作步骤

步骤三:注册支付宝小程序

步骤四:安装小程序开发环境并创建项目


步骤五:开发小程序
ECSAssistant
├── app.acss
├── app.js
├── app.json
└── pages
└── index
├── index.axml
├── index.js
└── index.json
{
"pages": [
"pages/index/index"
],
"window": {
"defaultTitle": "ECS小助手"
}
}<view class='container'> <input placeholder='请输入你的ECS实例ID' class='search-input' value='{{ inputValue }}' onBlur='bindblur'></input>
<view class='resultView' hidden='{{ showView }}'>
<text class='result'>CPU数:{{queryResult.Cpu}} 核</text>
<text class='result'>内存大小:{{queryResult.Memory}} MB</text>
<text class='result'>操作系统:{{queryResult.OSName}}</text>
<text class='result'>实例规格:{{queryResult.InstanceType}}</text>
<text class='result'>公网IP地址:{{queryResult.IpAddress}}</text>
<text class='result'>网络带宽:{{queryResult.InternetMaxBandwidthOut}} MB/s</text>
<text class='result'>在线状态:{{queryResult.instanceStatus == 'Running' ? '运行中':'已关机'}}</text>
</view></view>.container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 200rpx 0; box-sizing: border-box;
}.search-input { position: relative; margin-bottom: 50rpx; padding-left: 80rpx; line-height: 70rpx; height: 80rpx; box-sizing: border-box; border: 2px solid #ff8f0e; border-radius: 100rpx; overflow: hidden; text-overflow: ellipsis; transition: border 0.2s;
}.resultView { margin-top: 70rpx;
}.result { position: relative; left: 30rpx; display: list-item; font-size: small;
}Page({ data: { queryResult: null, showView: "false"
}, bindblur: function(e) { let that = this;
my.httpRequest({ url: "http://<CLB_PUBLIC_IP>/ecs/getServerInfo", method: "GET", data: { instanceId: e.detail.value
}, success(res) { if (res.status == 200) {
that.setData({ queryResult: res.data, showView: !that.data.showView
});
} else {
that.setData({ showView: "false"
});
my.showToast({ content: "请输入你的ECS实例ID", type: 'fail', duration: 3000,
});
}
}
});
}
});
步骤六:测试支付宝小程序
,在面板单击停止。
推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1