搭建一个用于支持小程序的轻量服务器,通常包括以下几个步骤。这里以腾讯云轻量应用服务器(Lighthouse)为例,配合 Node.js + Express + MySQL 的技术栈来搭建一个简单的小程序后端服务。
一、准备工作
-
注册云服务账号
- 推荐使用:腾讯云、阿里云、华为云等。
- 以腾讯云为例:https://cloud.tencent.com
-
购买轻量应用服务器(Lighthouse)
- 地区选择靠近用户的位置(如华南-广州)
- 镜像选择:
Ubuntu 20.04或Docker镜像 - 套餐:1核2G内存,5M带宽基本够用(小程序初期)
- 设置登录密码或密钥对
-
获取服务器公网 IP
- 购买后可在控制台查看公网 IP 地址
二、远程连接服务器
使用 SSH 连接:
ssh root@你的服务器IP
输入密码即可登录。
三、安装运行环境
1. 更新系统包
sudo apt update && sudo apt upgrade -y
2. 安装 Node.js 和 npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
验证安装:
node -v
npm -v
3. 安装 PM2(进程管理)
npm install -g pm2
4. 安装 MySQL 数据库
sudo apt install mysql-server -y
sudo mysql_secure_installation
登录 MySQL 设置用户和数据库:
sudo mysql -u root -p
在 MySQL 中执行:
CREATE DATABASE myapp DEFAULT CHARSET utf8mb4;
CREATE USER 'myuser'@'%' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
EXIT;
注意:开放远程访问需修改 MySQL 配置(
/etc/mysql/mysql.conf.d/mysqld.cnf),注释掉bind-address = 127.0.0.1,然后重启 MySQL。
四、部署后端服务(Node.js + Express)
1. 创建项目目录
mkdir /var/www/myapp && cd /var/www/myapp
2. 初始化 Node.js 项目
npm init -y
npm install express mysql2 cors body-parser
3. 创建 app.js
const express = require('express');
const mysql = require('mysql2');
const cors = require('cors');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
// 中间件
app.use(cors());
app.use(bodyParser.json());
// 数据库连接
const db = mysql.createConnection({
host: 'localhost',
user: 'myuser',
password: 'yourpassword',
database: 'myapp'
});
db.connect(err => {
if (err) throw err;
console.log('MySQL Connected...');
});
// 示例接口:获取数据
app.get('/api/data', (req, res) => {
const sql = 'SELECT * FROM test_data';
db.query(sql, (err, results) => {
if (err) throw err;
res.json(results);
});
});
// 启动服务
app.listen(port, '0.0.0.0', () => {
console.log(`Server running at http://0.0.0.0:${port}`);
});
4. 创建测试表
USE myapp;
CREATE TABLE test_data (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);
INSERT INTO test_data (name) VALUES ('Hello'), ('World');
五、使用 PM2 启动服务
pm2 start app.js --name "myapp"
pm2 startup
pm2 save
六、配置防火墙和安全组
-
腾讯云控制台 → 轻量服务器 → 防火墙
- 添加规则:允许 TCP 端口
3000(或你使用的端口)
- 添加规则:允许 TCP 端口
-
(可选)使用 Nginx 反向提速并绑定域名
七、小程序端调用接口
在小程序的 app.js 或页面中:
wx.request({
url: 'http://你的服务器IP:3000/api/data',
method: 'GET',
success(res) {
console.log(res.data);
}
})
注意:小程序要求 HTTPS,开发阶段可在「开发设置」中添加不校验域名,上线必须使用 HTTPS。
八、进阶建议
| 功能 | 建议 |
|---|---|
| HTTPS | 使用 Nginx + 免费 SSL 证书(Let’s Encrypt) |
| 域名 | 购买域名并备案,绑定服务器 |
| 数据库管理 | 使用 phpMyAdmin 或 Adminer |
| 自动部署 | 配合 GitHub + webhook 或 CI/CD 工具 |
总结
✅ 你已完成:
- 购买轻量服务器
- 部署 Node.js 后端
- 连接 MySQL 数据库
- 小程序可调用 API
📌 下一步建议:
- 为服务器配置域名和 HTTPS
- 使用 JWT 实现用户登录
- 接入微信登录(
wx.login)
如果你告诉我你的小程序具体用途(如:商城、打卡、预约等),我可以提供更具体的代码模板和架构建议。
CLOUD云知道