一、整体流程概览
注册账号 → 备案 → 开发 → 部署后端 → 上传代码 → 提交审核 → 发布上线 → 运维整个流程预计需要2-4 周(含审核等待),费用根据配置不同大约500-3000 元/年。
二、详细步骤
第 1 步:注册微信小程序账号
需要什么:
- 一个未注册过微信公众平台的邮箱
- 营业执照(个人开发者可用个人身份证)
- 银行卡(用于收款结算)
操作:
- 访问 https://mp.weixin.qq.com
- 选择"立即注册" → “小程序”
- 填写邮箱、密码、激活
- 选择主体类型:
- 个人:仅供学习,不能商用
- 企业/个体工商户:可商用、可支付(推荐)
费用:免费
第 2 步:小程序备案(必须)
微信小程序现在必须先备案后上架。
流程:
- 登录小程序后台 → 设置 → 备案
- 填写主体信息(营业执照、身份证)
- 提供小程序负责人信息
- 等待审核(7-20 个工作日)
材料清单:
- 营业执照照片
- 法人身份证正反面
- 小程序负责人手机号 + 邮箱
- 域名证书(如果是企业)
- 前置审批文件(部分行业需要,如教育、医疗)
费用:免费
第 3 步:购买云服务器
后端 Java 需要部署在云服务器上。
推荐配置:
| 项目 | 入门版(推荐) | 标准版 |
|---|---|---|
| 云服务器 | 2核 4G 5M 带宽 | 4核 8G 8M 带宽 |
| 适用用户量 | 1000-5000 | 5000-50000 |
| 国内厂商 | 腾讯云/阿里云 | 腾讯云/阿里云 |
| 预估费用 | 1500-2500 元/年 | 4000-6000 元/年 |
国内云厂商对比:
(由于文章被识别为广告营销 ,所以删除)
- 腾讯云:
- 阿里云:
- 华为云:
关键操作:
- 选择"轻量应用服务器"或"ECS"
- 系统选CentOS 7.6或Ubuntu 22.04
- 购买公网带宽(5M 起步)
- 设置安全组:开放 80、443、8080 端口
第 4 步:购买域名
选择:
- 国内注册商:阿里云万网、腾讯云 DNSPod
- 域名后缀:
.com(约 55 元/年)、.cn(约 25 元/年)
预估费用:50-100 元/年
第 5 步:域名备案(必须)
前提:服务器必须是国内大陆节点(港澳台、国外无需备案但访问慢)
流程:
- 腾讯云/阿里云后台 → 备案
- 填写主办者信息
- 上传资料
- 等待初审(1-2 天)
- 工信部短信核验
- 管局审核(7-20 个工作日)
同时需要:
- ICP 备案(公安联网备 - 5 个工作日内)
- 微信小程序备案(前面第 2 步)
第 6 步:申请 SSL 证书
微信小程序要求所有接口必须是HTTPS。
获取方式:
- Let’s Encrypt:免费,每 90 天续签
- 腾讯云/阿里云:免费 DV 证书(1 年)
- 收费证书:100-1000 元/年(企业级)
推荐:直接用云厂商免费证书,操作简单。
第 7 步:部署后端服务
7.1 服务器环境准备
连接服务器(使用 FinalShell 或 Xshell):
sshroot@你的服务器IP安装基础软件:
# CentOSyum update-yyuminstall-yjava-1.8.0-openjdk maven nginx mysqlgit# Ubuntuaptupdateaptinstall-yopenjdk-8-jdk maven nginx mysql-servergit7.2 配置 MySQL 数据库
# 启动 MySQLsystemctl start mysqld systemctlenablemysqld# 修改 root 密码mysql-uroot-pALTERUSER'root'@'localhost'IDENTIFIED BY'YourStrongPassword123!';# 导入项目数据mysql-uroot-p</path/to/zhishiku/backend/src/main/resources/schema.sql mysql-uroot-p</path/to/zhishiku/backend/src/main/resources/data.sql7.3 修改后端配置
修改application.yml:
server:port:8080servlet:context-path:/apispring:datasource:url:jdbc:mysql://localhost:3306/zhishiku?useSSL=false&serverTimezone=Asia/Shanghaiusername:rootpassword:YourStrongPassword123!# 微信小程序配置wechat:appid:你的小程序AppIDsecret:你的小程序Secret7.4 打包后端项目
在本地执行:
cdbackend mvn clean package-DskipTests# 生成 target/zhishiku-1.0.0.jar7.5 上传并启动
上传 jar 包:
scptarget/zhishiku-1.0.0.jar root@你的服务器IP:/app/服务器启动:
# 创建启动脚本cat>/app/start.sh<<'EOF' #!/bin/bash nohup java -jar /app/zhishiku-1.0.0.jar \ --spring.profiles.active=prod \ > /app/logs/zhishiku.log 2>&1 & echo "Started PID: $!" EOFchmod+x /app/start.sh /app/start.sh7.6 配置 Nginx 反向代理
server { listen 80; server_name api.yourdomain.com; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } # HTTPS 配置 server { listen 443 ssl; server_name api.yourdomain.com; ssl_certificate /etc/nginx/ssl/yourdomain.crt; ssl_certificate_key /etc/nginx/ssl/yourdomain.key; location / { proxy_pass http://127.0.0.1:8080; } }第 8 步:部署前端 Web 端
Vue 项目打包:
cdfrontendnpminstallnpmrun build# 生成 dist/ 目录上传到服务器:
scp-rdist/* root@你的服务器IP:/var/www/web/Nginx 配置:
server { listen 80; server_name www.yourdomain.com; root /var/www/web; index index.html; location / { try_files $uri $uri/ /index.html; } }第 9 步:配置小程序后端域名
登录微信公众平台:
- 开发 → 开发管理 → 开发设置
- 服务器域名 → 修改
- 填写:
- request 合法域名:
https://api.yourdomain.com - uploadFile 合法域名:
https://api.yourdomain.com - downloadFile 合法域名:
https://api.yourdomain.com
- request 合法域名:
第 10 步:获取小程序 AppID
- 微信公众平台 → 开发 → 开发管理 → 开发设置
- 复制AppID(小程序 ID)
- 在
miniprogram/project.config.json中配置:
{"appid":"wx1234567890abcdef","projectname":"zhishiku"}第 11 步:上传小程序代码
- 打开微信开发者工具
- 导入项目:选择
miniprogram目录 - 填写 AppID
- 点击右上角"上传"
- 填写版本号(如
1.0.0)和项目备注 - 上传成功
第 12 步:提交审核
微信公众平台:
- 版本管理 → 开发版本
- 点击"提交审核"
- 填写:
- 功能页面截图(5-10 张)
- 测试账号(如有登录)
- 类目选择(教育-在线教育)
- 等待审核(1-7 天)
常见被拒原因:
- ❌ 类目选择错误
- ❌ 没有 ICP 备案
- ❌ 内容涉及虚拟支付
- ❌ 用户协议缺失
- ❌ 隐私政策缺失
解决方法:
- 添加《用户协议》《隐私政策》页面
- 类目选择"教育-在线教育"
- 关闭虚拟支付或改用实体商品
第 13 步:发布上线
审核通过后:
- 版本管理 → 审核版本
- 点击"发布"
- 选择"全量发布"或"灰度发布"
- 5 分钟后即可在微信中搜索到
三、费用清单
一次性费用(第一年)
| 项目 | 费用 | 说明 |
|---|---|---|
| 微信小程序认证 | 300 元 | 每年一次,企业主体 |
| 域名 | 50-100 元 | 每年 |
| SSL 证书 | 0-500 元 | 每年(免费版够用) |
| 云服务器 | 1500-2500 元 | 每年 |
| 短信服务(可选) | 500 元 | 验证码等 |
| 合计 | 约 2500-3500 元/年 |
可选费用
| 项目 | 费用 | 用途 |
|---|---|---|
| CDN 加速 | 200-1000 元 | 静态资源加速 |
| 对象存储 OSS | 100-500 元 | 文件/图片存储 |
| 短信服务 | 500-2000 元 | 注册验证码 |
| 域名备案服务 | 0 元 | 自己操作免费 |
四、运维要点
1. 日常监控
推荐工具:
- 宝塔面板:可视化运维,免费
- 云监控:云厂商自带
- UptimeRobot:网站可用性监控(免费)
安装宝塔:
yuminstall-ywget&&wget-Oinstall.sh http://download.bt.cn/install/install_6.0.sh&&shinstall.sh ed8484bec2. 数据备份
每天自动备份:
# 添加到 crontabcrontab-e02* * * /usr/bin/mysqldump-uroot-p密码 zhishiku>/backup/db_$(date+\%Y\%m\%d).sql3. 日志管理
# 清理 30 天前的日志find/app/logs-name"*.log"-mtime+30-delete# 查看实时日志tail-f/app/logs/zhishiku.log4. 安全加固
# 修改 SSH 端口sed-i's/Port 22/Port 2222/'/etc/ssh/sshd_config# 禁用 root 登录# 创建普通用户,使用 sudo 提权# 安装 fail2ban 防暴力破解yuminstall-yfail2ban systemctlenablefail2ban5. 性能优化
启用 Gzip 压缩(Nginx):
gzip on; gzip_types text/plain text/css application/json application/javascript;数据库优化:
- 添加索引
- 定期分析慢查询日志
- 启用连接池
五、新手最容易踩的坑
1. ⚠️ 备案问题
坑:未备案就上线,被微信拒绝
解:先备案,再提交审核(耗时 2-4 周)
2. ⚠️ HTTPS 问题
坑:后端用 HTTP,小程序无法访问
解:必须配置 SSL 证书,强制 HTTPS
3. ⚠️ 跨域问题
坑:浏览器访问 API 报错
解:在CorsConfig.java中配置小程序域名白名单
4. ⚠️ 支付问题
坑:个人主体无法开通微信支付
解:使用企业/个体工商户主体
5. ⚠️ 审核被拒
坑:类目选择错误,审核不通过
解:本项目属于"教育-在线教育",需要上传营业执照
六、最小化方案(节省成本)
如果只是想先跑通流程:
| 项目 | 替代方案 | 费用 |
|---|---|---|
| 云服务器 | 学生机(1核 2G) | 120 元/年 |
| 域名 | 免费二级域名 | 0 元 |
| SSL | Let’s Encrypt | 0 元 |
| 数据库 | SQLite(无需 MySQL) | 0 元 |
| 合计 | 约 500 元/年 |
修改 application.yml:
spring:datasource:url:jdbc:sqlite:/data/zhishiku.db七、上线后可以做的推广
- 微信内搜索:完善小程序名称、简介、关键词
- 附近的小程序:开启地理位置
- 公众号关联:与公众号绑定互通
- 朋友圈分享:生成太阳码海报
- 微信群裂变:设计分享奖励机制
八、总结清单
□ 1. 注册小程序账号 □ 2. 主体认证(300元/年) □ 3. 小程序备案(7-20工作日) □ 4. 购买云服务器(约 1500元/年) □ 5. 购买域名(约 60元/年) □ 6. 域名备案(7-20工作日) □ 7. 申请 SSL 证书(免费) □ 8. 部署后端服务 □ 9. 部署前端 Web □ 10. 配置小程序合法域名 □ 11. 开发者工具上传代码 □ 12. 提交审核(1-7天) □ 13. 审核通过,发布上线 □ 14. 配置监控和备份最快上线时间:1 个月(含所有备案和审核)
总费用预算:2500-3500 元/年