使用腾讯云轻量应用服务器(TencentCloud Lighthouse)搭建 Node.js 小程序后端服务是一个非常常见且实用的场景。下面是一个详细的步骤指南,帮助你完成搭建。
✅ 准备工作
1. 购买腾讯云轻量应用服务器
- 登录 腾讯云控制台
- 选择 轻量应用服务器(Lighthouse)
- 选择合适的镜像(建议选择 CentOS 或 Ubuntu,或者使用 Docker 镜像)
- 完成购买并获取公网 IP
🧱 一、配置服务器环境
1. 登录服务器(SSH)
使用命令行工具(如 ssh)或腾讯云控制台登录服务器:
ssh root@你的公网IP
如果是 Ubuntu:
ssh ubuntu@你的公网IP
2. 安装 Node.js
方法一:使用 NodeSource 安装(推荐)
以安装 Node.js v18.x 为例(适合大多数项目):
# 安装 Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# 查看版本
node -v
npm -v
Ubuntu 用户请确保先执行
sudo apt update
3. 安装 PM2(Node.js 进程管理器)
npm install pm2 -g
📁 二、部署你的 Node.js 后端服务
1. 上传项目代码
你可以使用以下方式上传代码:
- 使用
scp上传本地文件到服务器 - 使用
git clone从 GitHub 拉取代码(推荐)
例如:
git clone https://github.com/yourname/your-nodejs-project.git
cd your-nodejs-project
npm install
2. 启动 Node.js 服务
使用 pm2 启动项目(以 app.js 为例):
pm2 start app.js
查看运行状态:
pm2 list
设置开机自启:
pm2 startup
pm2 save
🔌 三、配置防火墙和端口映射
1. 开放服务器端口(如 3000)
在腾讯云控制台:
- 找到你的轻量服务器
- 点击 防火墙
- 添加规则,放行你的服务端口(如
3000)
2. 配置反向(可选但推荐)
安装 Nginx
sudo apt install nginx
配置 Nginx 反向(如小程序请求域名 api.example.com)
编辑配置文件:
sudo nano /etc/nginx/conf.d/api.conf
写入以下内容:
server {
listen 80;
server_name api.example.com;
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_cache_bypass $http_upgrade;
}
}
重启 Nginx:
sudo systemctl restart nginx
3. 配置域名和 HTTPS(可选)
- 在腾讯云购买域名
- 解析域名到服务器公网 IP
- 使用 Let’s Encrypt 或腾讯云 SSL 证书服务配置 HTTPS
📱 四、小程序端请求配置
在你的小程序中(如微信小程序)发起请求:
wx.request({
url: 'https://api.example.com/api/login',
method: 'POST',
data: {
code: 'xxx'
},
success(res) {
console.log(res.data)
}
})
注意:需要在小程序后台配置合法域名,否则开发环境可勾选“不校验合法域名、HTTPS 证书”。
✅ 五、常见问题排查
| 问题 | 解决方法 |
|---|---|
| 小程序访问不到服务器 | 检查防火墙是否放行对应端口 |
| 无法访问域名 | 检查域名是否备案,DNS 是否解析正确 |
| Node.js 报错 | 查看日志:pm2 logs |
| 服务器连接慢 | 更换服务器地区,如选择广州、上海等 |
🧩 附加建议
- 使用 Docker 部署更便于管理(如果熟悉 Docker)
- 使用 MongoDB / MySQL 等数据库可配合腾讯云数据库服务
- 使用 宝塔面板 简化部署流程(适合不熟悉命令行的用户)
如果你提供具体的 Node.js 项目结构或小程序类型(如微信、支付宝),我可以给出更详细的部署建议。
需要我帮你写一个完整的 Node.js 示例服务吗?
PHPWP博客