配置CVM云服务器以支持微信小程序运行,主要涉及后端环境部署、域名与HTTPS配置、小程序网络请求要求三个方面。以下是详细步骤和注意事项:
一、后端环境配置
微信小程序的后端通常需要部署API服务、数据库等,建议按以下步骤配置:
-
选择操作系统
- 推荐使用 Ubuntu 20.04/22.04 LTS 或 CentOS 7/8(CentOS 8+需注意官方支持周期),系统需保持更新。
-
安装运行环境
- Node.js(若使用JavaScript/TypeScript):
# Ubuntu示例 curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs - Java/Python/PHP 等根据开发语言选择对应环境。
- 数据库:MySQL、MongoDB等,建议使用云数据库(如腾讯云TencentDB)以降低运维负担。
- Node.js(若使用JavaScript/TypeScript):
-
部署后端代码
- 通过Git拉取代码,使用PM2(Node.js)、Supervisor等工具守护进程。
- 若需Web服务器(如Nginx/Apache),配置XX转发到后端服务(如Node.js的3000端口)。
-
防火墙配置
- 在CVM安全组中开放所需端口(如80、443、后端API端口)。
- 仅开放必要端口,避免安全风险。
二、域名与HTTPS配置(关键步骤)
微信小程序要求所有网络请求必须使用 HTTPS 且域名需备案(中国大陆服务器)。
-
域名准备
- 注册域名并在腾讯云备案(若服务器在中国大陆)。
- 域名解析到CVM的公网IP。
-
申请SSL证书
- 免费证书:腾讯云SSL证书控制台申请TrustAsia免费证书,或使用Let’s Encrypt。
- 付费证书:按需购买。
-
安装SSL证书
- Nginx示例:
将证书文件(.crt和.key)上传到服务器,修改Nginx配置:server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/cert.key; location / { proxy_pass http://localhost:3000; # 转发到后端服务 } } - 重启Nginx:
sudo systemctl restart nginx
- Nginx示例:
-
HTTP强制跳转HTTPS(可选但推荐)
server { listen 80; server_name yourdomain.com; return 301 https://$server_name$request_uri; }
三、小程序网络请求配置
-
在小程序后台配置服务器域名
- 登录微信公众平台 → 开发 → 开发设置 → 服务器域名。
- 添加
request合法域名(如https://api.yourdomain.com),需使用HTTPS且端口为443(其他端口需显式声明)。 - 注意:域名不能带路径(如
https://domain.com/api无效)。
-
后端API注意事项
- 接口需支持HTTPS,返回数据格式建议为JSON。
- 处理小程序跨域问题:后端配置CORS响应头(小程序端已封装,但部分框架需显式设置)。
- 若使用WebSocket,需在后台配置
socket合法域名。
四、安全与性能优化
-
安全加固
- 禁用SSH密码登录,改用密钥对。
- 定期更新系统和软件补丁。
- 使用云防火墙/WAF防护攻击。
-
性能优化
- 启用CDN提速静态资源(如图片、文件)。
- 数据库配置读写分离或缓存(如Redis)。
- 监控CVM资源使用率(CPU、内存、带宽)。
五、常见问题
- 备案问题:中国大陆服务器必须完成域名备案,审核通常需1-20个工作日。
- 端口限制:小程序请求的HTTPS端口默认为443,其他端口(如8443)需在域名后显式指定。
- 本地调试:开发阶段可在微信开发者工具中关闭“域名校验”,但上线前需配置合法域名。
六、推荐腾讯云相关服务
- 轻量应用服务器:适合新手,预装应用镜像(如Node.js、WordPress)。
- 云开发(TCB):无需自建服务器,小程序原生支持,集成数据库、云函数等。
- CDN与SSL证书:搭配使用提升访问速度与安全性。
总结
配置核心流程:购买CVM → 部署后端环境 → 域名备案 → 配置HTTPS → 小程序后台添加合法域名。务必提前完成备案和HTTPS部署,避免影响上线进度。
CLOUD技术笔记