ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

微信小程序部署上线完整全流程(保姆级教程)

微信小程序部署上线完整全流程(保姆级教程)

微信小程序部署上线完整全流程(保姆级教程)

适用场景:如果你已经用AI或微信开发者工具写好了小程序前端代码,现在需要把它从“本地能跑”变成“别人在微信里能搜到、能用”。

读完你会清楚:部署其实分两条路线——云开发/云托管(不用自己买服务器、配域名)和自建后端(需要服务器 + 备案域名 + HTTPS)。两条路线上线时“提交审核、发布”的操作是一样的,差别在后端怎么托底。

先做判断:你走哪条路线?

小程序上线 = 前端代码 + 后端服务 + 平台审核。前端代码的“上传—审核—发布”流程两条路线完全一致,真正的分岔在后端。

云开发 / 云托管自建后端(轻量服务器 / ECS)
需要买服务器吗不需要需要
需要域名备案吗调用云托管服务本身不需要域名必须完成 ICP 备案
需要自己配 HTTPS 证书吗云托管自动处理必须自己配 SSL 证书
适合谁个人开发者、中小项目、不想折腾运维已有后端代码、需要完全控制服务器环境、企业存量系统
上手难度低中高,坑集中在备案和证书

如果你后端还没写,或者不想碰备案、SSL、Nginx,优先选云开发或云托管。如果你已经有现成的 Java/Node/Python 后端跑在服务器上,走自建路线,下面第 3 章会专门讲。

第 1 章 上线前的地基准备(两条路线都要做)

1.1 小程序备案(强制,没有备案无法上架)

自 2023 年 9 月 1 日起,新开发的微信小程序必须完成备案后才能提交审核和上架。备案本身免费,但审核周期不短:平台初审 1—2 个工作日,加上管局审核,整体约 2—22 个工作日。

操作路径:登录微信公众平台(mp.weixin.qq.com)→ 左侧菜单找到 “小程序备案” → 按页面提示填写主体信息(个人:身份证 + 人脸核验;企业:营业执照 + 法人信息)→ 提交后等待平台初审 → 注意查收工信部 12381 短信核验 → 管局审核 → 通过后获得备案号。

关键提醒:备案要提前做。不要等代码全部写完、测试都过了才想起来备案,否则会被卡在“无法提交审核”这一步空等两三周。

1.2 确认 AppID 与成员权限

在公众平台 “开发管理 → 开发设置” 里拿到小程序的 AppID,并确认你的微信号已经被添加为开发者或管理员。如果是团队协作,提前把需要参与测试的人加到 “成员管理 → 体验成员” 里,后面体验版扫码才进得去。

1.3 服务类目与隐私协议(审核驳回重灾区)

提交审核前,先确认两件事:

  • 服务类目:你选的服务类目必须和首页实际提供的功能对得上。小程序首页必须能直达或经过 2 次点击到达所提交的每一个服务类目页面,否则会被判定“类目与实际功能不符”而驳回。
  • 用户隐私保护指引:只要涉及获取手机号、定位、头像昵称等用户信息,必须在后台配置隐私协议,并在代码中声明。没有配置隐私协议,审核会直接驳回。

第 2 章 路线 A:云开发 / 云托管部署

如果你选择云开发或云托管,后端不需要你买服务器、备案域名、手动装证书,部署动作集中在微信生态内部完成。

2.1 云开发(云函数 + 云数据库)

在微信开发者工具中开通云开发环境,拿到环境 ID。后端逻辑以云函数形式存在:在开发者工具里右键云函数目录 → “上传并部署:云端安装依赖”,云函数就会发布到云端。数据库集合不需要手动建表,首次写入时会自动创建。

云开发的部署本质是“在开发者工具内完成”,不需要离开 IDE。

2.2 云托管(部署完整后端服务)

如果你有一个完整的后端服务(Java/Node/Python 等),用云托管部署。官方流程分三步:新建版本、测试、灰度上线。

首次发布时,在云托管控制台选择代码来源:GitHub/GitLab/Gitee 仓库、手动上传代码包(不超过 2 MiB)、或拉取镜像。选择代码后,平台会自动构建镜像并部署,首次部署会自动推到线上,之后即可进行公网访问或小程序调试。

非首次发布(已有流量在跑)时,建议勾选 “灰度发布”:先定向测试新版本,再按一定流量比例放量,确认无误后再全量切换。全量发布会把 100% 现网流量瞬间切到新版本,如果新版本有问题会直接影响所有用户。

云托管的一个省心之处:小程序/公众号前端调用云托管服务时不需要使用域名,因此不需要为云托管服务单独备案域名。但这不意味着你的小程序本身可以跳过备案——小程序备案仍然是强制项。

第 3 章 路线 B:自建后端部署(备案域名 + HTTPS + 服务器)

这是坑最多的一条路。按顺序走,不要跳步。

3.1 第一步:买服务器(国内节点)

选国内云厂商的轻量应用服务器或 ECS。配置上,个人/测试 2 核 2G 够用,小型应用建议 2 核 4G 起步。地域必须选中国大陆节点——因为后面域名备案要求服务器在大陆,海外服务器虽然可以豁免备案,但国内用户访问速度和稳定性会打折扣。

镜像选择上,如果你不熟悉 Linux 运维,选 “宝塔面板” 或 “Node.js 应用镜像” 可以大幅降低配环境、配 HTTPS 的门槛。

3.2 第二步:域名注册与 ICP 备案(硬门槛,绕不过)

国内主体的小程序,所有业务域名、request 域名必须完成工信部 ICP 备案。未备案的域名在微信后台添加服务器域名时,系统会直接报错,无法配置。

备案通过域名服务商(腾讯云/阿里云)提交,准备营业执照或身份证、法人信息、核验照片,通常 1—3 周完成。新备案域名还需要等待 24—48 小时同步到微信审核系统,再去小程序后台配置,否则会触发 “该域名未备案” 错误。

时间规划建议:把备案放在所有事情的最前面启动。服务器可以同步买、代码可以同步写,但备案的日历时间是省不掉的。

3.3 第三步:申请 SSL 证书并配置 HTTPS

微信小程序强制要求所有网络请求必须使用 HTTPS,没有任何例外。HTTP 请求会被微信客户端直接阻止。同时,服务器必须运行 TLS 1.2 及以上版本。

证书选择:个人或小项目用 Let‘s Encrypt 免费 DV 证书完全够用,微信认可;企业级项目可以上 OV 证书。但注意证书有效期已缩短至 199 天,务必设置自动续期,否则证书过期会导致小程序线上突然不可用。

配置上,用 Nginx 做反向代理并挂载 SSL 证书是标准做法。关键配置长这样:

server { listen 443 ssl; server_name api.yourdomain.com; ssl_certificate /path/to/fullchain.pem; # 必须是完整证书链 ssl_certificate_key /path/to/private.key; location / { proxy_pass http://127.0.0.1:3000; # 你的后端实际端口 } }

注意ssl_certificate要指向包含中间证书的 fullchain 文件,不能只传服务器证书。证书链不完整是安卓机上“电脑能访问、手机报错”的常见原因之一。

3.4 第四步:启动后端服务并做守护

后端启动后,用 PM2 之类的进程守护工具确保服务在崩溃或服务器重启后自动拉起:

npminstall-gpm2 pm2 start app.js--nameminiapp pm2 save pm2 startup

然后用https://api.yourdomain.com/api/health之类的一个健康检查接口,确认从公网通过 HTTPS 能正常拿到响应,再进入下一步。

3.5 第五步:微信后台配置服务器域名(最容易出错的环节)

入口:微信公众平台 → 开发 → 开发管理 → 开发设置 → 服务器域名。

需要分别配置四类域名,每类最多 20 个:

  • request 合法域名:API 请求(如https://api.yourdomain.com),必填;
  • uploadFile 合法域名:文件上传(头像、图片等);
  • downloadFile 合法域名:文件下载;
  • socket 合法域名:WebSocket 通信(使用wss://)。

填写时注意几个致命细节:

  • 域名不要加http://或https://前缀;
  • 不支持 IP 地址、不支持 localhost;
  • 填写的域名必须和 SSL 证书绑定的域名完全一致(证书是api.yourdomain.com,后台就填这个,不能填根域名);
  • 配置完成后通常需要几分钟生效。

这一步还有域名所有权验证:下载MP_verify_xxxxxx.txt,上传到域名根目录,确保https://api.yourdomain.com/MP_verify_xxxxxx.txt可公开访问。

第 4 章 上传代码、设置体验版、提交审核(两条路线通用)

后端就绪后,回到微信开发者工具和公众平台完成前端侧的上线动作。

4.1 在开发者工具上传代码

打开微信开发者工具,确认右上角 AppID 正确,点击工具栏的 “上传” ,填写版本号和项目备注。这一步把代码推送到微信的“开发版本”。

上传前务必自查:开发者工具里如果一直勾着 “不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书” ,正式环境会原形毕露。上线前关掉这个选项,在真机上完整走一遍核心流程(尤其是登录、支付、数据提交),确认所有请求都打到了已配置的合法域名上。

4.2 设为体验版并让测试人员验收

上传后,登录微信公众平台,进入 “管理 → 版本管理” ,在开发版本区域找到刚上传的版本,点击 “选为体验版” ,生成体验版二维码。

然后在 “成员管理 → 体验成员” 中添加需要参与验收的微信号。体验成员扫码即可打开体验版小程序,进行真实环境下的测试。把登录、核心业务流程、表单提交、支付(如有)逐项过一遍,确认没有“本地正常、体验版报错”的情况。

4.3 提交审核

体验版验收通过后,回到 “版本管理” → 开发版本区域,点击 “提交审核” 。按页面提示填写功能页面路径、测试账号(如果小程序有登录门槛,必须提供可用的测试账号给审核人员),上传必要的截图辅助审核人员理解功能。

几个直接影响审核结果的细节:

  • 服务类目与实际功能一致,首页能直达或 2 次点击到达所有提交的类目页面;
  • 隐私协议已配置,涉及用户信息的接口有明确的授权说明;
  • 虚拟支付相关:iOS 端虚拟物品不支持在小程序内直接付款,首次提审前尽量不要在页面上露出虚拟商品的价格和购买入口,否则容易被驳回;
  • 每个小程序每周最多提审 3 次,提交前尽量一次过。

审核时长通常在 2—12 小时内,医疗、金融等特殊行业可能需要 1—3 天。

第 5 章 审核通过后:发布上线

审核通过后,在 “版本管理” 中会看到审核通过的版本,点击 “发布” → 选择 “全量发布” ,小程序正式上线,用户可以通过搜索、扫码、分享卡片等方式访问。

如果你希望控制放量节奏,也可以先选择灰度发布(按比例逐步放开),但第一次上线且审核版本与体验版一致时,全量发布是常规做法。

发布后 24 小时内,建议自己用非开发者、非体验成员的普通微信号搜索小程序,完整走一遍核心流程,确认线上表现与体验版一致。

第 6 章 上线前检查清单 + 常见翻车点

上线前逐项核对

  • 小程序备案已完成,备案号可查
  • 服务类目与页面功能一致,首页可达所有类目
  • 用户隐私保护指引已配置
  • 自建后端:域名已 ICP 备案,微信后台四类域名已填全且无前缀、无 IP
  • SSL 证书链完整,https://域名/健康检查路径公网可访问
  • 开发者工具 “不校验合法域名” 已关闭,真机走通核心流程
  • 体验版已由非开发者微信号验收通过
  • 提审时提供了可用的测试账号(如有登录)

翻车点 1:开发者工具正常,手机正式版登录/请求失败

九成是合法域名没配全。开发者工具默认不校验域名,正式版是强校验。逐项检查:request合法域名里是否包含登录接口的完整 HTTPS 域名(不能带端口和路径);证书链是否完整;如果登录嵌在 web-view 里,还要配业务域名并上传校验文件。手机上抓包看具体报错,如果是url not in domain list,就是域名没配或没生效;如果是证书错误,回去补全证书链。

翻车点 2:证书过期导致线上突然不可用

SSL 证书有效期已缩短到 199 天,手工续期很容易漏。务必配置自动续期(Let’s Encrypt 用 certbot 的定时任务,云厂商的免费证书一般也支持自动续期)。

翻车点 3:云托管部署失败但本地 Docker 正常

先确认本地 Docker 能正常运行——本地跑不通,线上一定有问题。如果本地正常但云托管构建/部署失败,查看控制台部署日志,区分是构建阶段还是部署阶段报错;部署失败最常见的原因是 Dockerfile 没有正确配置。

翻车点 4:审核被驳回“类目不符 / 首页无法到达”

不要靠改描述硬扛。回到小程序里,确认首页真的能在 2 次点击内到达你提交的每一个服务类目页面;如果确实覆盖不了,就去后台把类目删减到和实际功能匹配,而不是在提审材料里“解释”。

一句话总结流程:先备案(最耗时,最先启动)→ 选路线(云托管省心 / 自建后端要搞定域名 + HTTPS)→ 配域名 → 上传体验版验收 → 提交审核 → 发布。卡住时优先查三个地方:微信后台服务器域名、SSL 证书链、服务类目与隐私协议。

返回列表