使用腾讯云服务器搭建 Node.js 后端,为微信小程序提供服务的完整步骤如下:
一、准备工作
-
注册腾讯云账号
- 访问 腾讯云官网
- 注册并完成实名认证。
-
购买云服务器(CVM)
- 进入「云服务器 CVM」控制台。
- 选择配置(建议:1核2G起步,系统镜像选择 Ubuntu Server 20.04 LTS 或 CentOS 7+)。
- 设置登录方式(推荐密钥对或密码)。
- 安全组:确保开放以下端口:
22:SSH 登录80:HTTP443:HTTPS3000或其他你用于 Node.js 的端口(如5000)
二、连接到服务器
使用 SSH 工具连接(如 PuTTY / Terminal / VS Code Remote-SSH):
ssh root@你的公网IP
# 或
ssh ubuntu@你的公网IP # Ubuntu 镜像用户为 ubuntu
三、安装 Node.js 和 npm
方法一:使用 nvm(推荐)
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc
# 安装最新长期支持版 Node.js
nvm install --lts
# 验证安装
node -v
npm -v
方法二:直接安装
以 Ubuntu 为例:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
四、上传或创建 Node.js 项目
方式1:本地开发后上传代码
- 使用
scp命令上传:
scp -r ./your-node-project root@你的IP:/root/
方式2:在服务器上拉取 Git 仓库
git clone https://github.com/yourname/your-node-project.git
cd your-node-project
npm install
确保你的项目包含
package.json和入口文件(如app.js或server.js)。
五、编写简单的 Node.js 服务示例
创建一个简单 API 供小程序调用:
// server.js
const express = require('express');
const app = express();
app.use(express.json());
// 允许跨域(小程序需要)
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST');
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
// 示例接口:返回欢迎信息
app.get('/api/hello', (req, res) => {
res.json({ message: 'Hello from Tencent Cloud!', timestamp: new Date() });
});
// 小程序可调用的登录接口示例
app.post('/api/login', (req, res) => {
const { code } = req.body;
// 此处可调用微信接口换取 openid
res.json({ success: true, openid: 'mock_openid_123' });
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, '0.0.0.0', () => {
console.log(`Server running at http://0.0.0.0:${PORT}`);
});
安装 Express:
npm init -y
npm install express
六、使用 PM2 持续运行 Node.js 应用
避免进程退出,使用 PM2 守护进程。
npm install -g pm2
pm2 start server.js --name "my-api"
pm2 startup # 开机自启
pm2 save # 保存当前进程列表
常用命令:
pm2 list # 查看运行进程
pm2 logs # 查看日志
pm2 restart my-api
pm2 delete my-api
七、配置反向X_X(可选但推荐)
使用 Nginx 做反向X_X,提升性能和安全性。
- 安装 Nginx:
sudo apt update
sudo apt install nginx
- 配置站点(编辑
/etc/nginx/sites-available/default):
server {
listen 80;
server_name your-domain.com; # 或公网 IP
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
- 测试并重启 Nginx:
sudo nginx -t
sudo systemctl restart nginx
八、域名与 HTTPS(生产环境建议)
-
申请免费 SSL 证书(使用腾讯云或 Let’s Encrypt)
使用 Certbot(Let’s Encrypt):
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d yourdomain.com -
Nginx 自动配置 HTTPS。
九、小程序前端调用示例
在微信小程序中请求你的接口:
wx.request({
url: 'https://yourdomain.com/api/hello',
method: 'GET',
success(res) {
console.log(res.data);
},
fail(err) {
console.error('请求失败', err);
}
});
注意:必须使用 HTTPS 域名,并在小程序管理后台配置
request合法域名。
十、安全建议
- 定期更新系统:
sudo apt update && sudo apt upgrade - 使用防火墙(UFW)限制端口访问
- 不要将数据库密码等敏感信息写在代码中,使用
.env文件 - 使用
cors中间件精确控制跨域(而非*)
总结流程图
腾讯云购买CVM → SSH连接 → 安装Node.js → 上传项目 → 使用PM2运行 → Nginx反向X_X → 配置域名/HTTPS → 小程序调用API
如有需要,可以进一步集成 MongoDB/MySQL 数据库、Redis 缓存、WebSocket 实时通信等功能。
如果你提供具体的业务需求(如用户登录、数据存储),我可以给出更详细的后端代码结构。
云服务器