使用场景
小程序云轻量服务器方案是腾讯云轻量应用服务器与云开发 AnyService 为小程序开发者提供的一站式后端解决方案,允许开发者将小程序服务端部署在轻量应用服务器内,并通过 AnyService 直接接入,无需复杂配置即可完成服务端与小程序客户端的连接。
方案优势
当前方案提供极速接入、安全防护、DDoS 防护、AI 协议等能力,并且具备高性价比,全方位护航小程序开发。
小程序无域名接入、动态请求免带宽
小程序服务端无域名接入,无论个人创意还是企业项目都能秒速上线,抢占市场先机,释放业务潜能。
SSL/TLS 安全防护:智能防护,抵御攻击
内置智能安全防护机制,有效抵御羊毛党与黑灰产的侵扰,全方位守护数据安全与业务正常运转。
DDoS 防护:坚不可摧,保障业务连续性
超大流量攻击也不怕!智能流量清洗与调度,确保小程序在恶意攻击或流量高峰下持续在线,留住用户,保障收益。
AI 协议支持:满足多样化需求
除 HTTP/HTTPS 外,还支持 AI 开发中常用的 SSE(Server-Sent Events)协议和 WebSocket 长连接协议,适用于实时通信、大模型推理等场景。
准备工作
在正式开始之前,请确保:
已 注册腾讯云账号 并完成了实名认证。
已 注册腾讯云开发 账号。
有一个微信小程序(已通过审核或处于开发阶段)。
操作步骤
创建轻量应用服务器
1. 登录 轻量应用服务器控制台,在服务器页面单击新建。或直接访问 轻量应用服务器购买页。

2. 在轻量应用服务器购买页面,选择所需配置完成轻量应用服务器购买。
应用创建方式:选择使用应用模板 > Web 开发 > Node.js,其他参数可参见 购买方式 进行选择。
地域:建议选择靠近目标客户的地域,降低网络延迟、提高您的客户的访问速度。例如目标客户在“深圳”,地域选择“广州”。
可用区:默认勾选随机分配,也可自行选择可用区。
实例套餐:按照所需的服务器配置(CPU、内存、系统盘、峰值带宽、每月流量),选择一种实例套餐。
服务器名称:自定义实例名称,若不填则默认使用“镜像名称+四位随机字符”。批量创建实例时,连续命名后缀数字自动升序。例如,填入名称为 LH,数量选择3,则创建的3个实例名称为 LH1、LH2、LH3。
时长:默认1个月。
台数:默认1台。
3. 单击立即购买,并根据页面提示提交订单完成支付。
4. 返回 轻量应用服务器控制台。
5. 待实例创建完成后,将小程序服务端部署至已创建的实例中。
验证小程序服务端是否正常运行
您可以通过以下方法验证已部署的小程序服务端是否正常运行,此处以部署在轻量应用服务器实例、监听3000端口的服务端为例:
1. 在浏览器地址栏输入:
http://轻量应用服务器公网IP地址:端口号
。2. 如果看到类似如下内容,说明服务正常运行:

说明:
访问服务端地址后,浏览器展示的内容以实际服务端代码中的内容为准。
1. 使用命令行工具(如 macOS Terminal、Windows Terminal 等),执行
curl http://轻量应用服务器公网IP地址:端口号
。2. 如果看到类似如下内容,说明服务正常运行:

说明:
执行
curl
命令后,终端内展示的内容以实际服务端代码中的内容为准。
创建 AnyService 服务
1. 登录 腾讯云开发控制台/AnyService。
2. 单击新增服务接入。

3. 填写服务信息:
服务名称:给您的服务起个名字,例如“我的小程序后端”。
服务标识:设置一个简短的标识,例如“myapp”(您需要记住这个标识,后面会用到)。
源站类型:选择“腾讯云Lighthouse轻量主机”(即轻量应用服务器)。
轻量主机及端口:从下拉列表中选择您的轻量应用服务器实例。填写您的服务监听的端口(此时是3000)。
4. 单击保存完成创建。

在小程序中调用 AnyService
完成 AnyService 配置后,您可以在当前云开发环境绑定的小程序中轻松调用部署在轻量应用服务器内的服务端,并且无需配置域名。
1. 您需要在小程序的 app.js 中初始化云开发环境,示例代码如下:
// 在小程序的app.js中初始化云开发环境App({onLaunch: function() {// 初始化云开发环境wx.cloud.init({env: '您的云开发环境ID', // 从云开发控制台获取traceUser: true,})}})
2. 在需要调用服务端的页面文件中,增加以下示例代码:
// 在需要调用服务的页面中添加以下示例方法async callMyService() {try {// 调用AnyService服务const res = await wx.cloud.callContainer({path: "/", // 请求路径,根据您的服务而定header: {"X-WX-SERVICE": "tcbanyservice", // 固定值,不要修改"X-AnyService-Name": "myapp", // 填入您创建的服务标识"content-type": "application/json",},method: "GET", // 请求方法,可以是GET、POST等})console.log('调用成功:', res.data)return res.data} catch (error) {console.error('调用失败:', error)throw error}}
3. 调用服务后,您可以在开发工具的控制台中查看返回的内容。

更多参考资源
常见问题
小程序无法连接到服务,显示超时错误怎么办?
可能原因:
轻量应用服务器实例防火墙未开放相应端口
主机上的服务未正常运行
服务标识填写错误
解决方法:
检查轻量应用服务器控制台中的防火墙设置
使用浏览器访问主机 IP 确认服务是否正常
核对 AnyService 中的服务标识是否与代码中一致
服务请求返回了错误的数据格式怎么办?
可能原因:
服务返回的不是 JSON 格式数据
请求方法或路径不正确
解决方法:
确认您的服务返回的数据格式
调整小程序代码中的请求方法和路径
我的服务需要发送 POST 请求怎么办?
如果您的服务需要发送 POST 请求(即服务器接收 POST 请求),可以参考如下方式修改代码:
const result = await wx.cloud.callContainer({path: "/api/your-endpoint", // 您的API路径header: {"X-WX-SERVICE": "tcbanyservice","X-AnyService-Name": "myapp","content-type": "application/json",},method: "POST",data: {// 您要发送的数据key1: "value1",key2: "value2"}})