运行 Node.js 后端的小程序,推荐选择 轻量级 Linux 服务器环境,具体建议如下:
✅ 首选推荐:Ubuntu Server LTS
理由:
- 社区支持强大:文档丰富、问题容易解决
- 兼容性好:Node.js 官方主要测试平台
- 包管理完善:apt 源稳定,依赖安装方便
- 长期支持版本(如 22.04 LTS / 24.04 LTS)提供 5 年安全更新
# 示例:在 Ubuntu 上部署
sudo apt update
sudo apt install nodejs npm
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
🥈 次选推荐:Debian Stable
- 更稳定,资源占用略低
- 适合对稳定性要求极高的生产环境
- 同样拥有良好的 Node.js 兼容性
⚠️ 不推荐但可用的选项
| 系统 | 说明 |
|---|---|
| CentOS Stream | 已取代 CentOS 7/8,适合习惯 RHEL 系的用户 |
| Alibaba Cloud Linux | 阿里云定制版,与云产品集成好,国内访问优化 |
| Rocky Linux / AlmaLinux | CentOS 的继任者,RHEL 兼容 |
🔧 关键配置建议
1. 使用 Node.js 版本管理器
# 推荐 nvm 或 fnm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
2. 进程守护
# 使用 PM2 管理进程
npm install -g pm2
pm2 start app.js --name "my-app"
pm2 save
pm2 startup
3. 反向X_X(Nginx)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost: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;
}
}
📦 最小化镜像选择原则
| 维度 | 建议 |
|---|---|
| 操作系统 | Ubuntu 22.04/24.04 LTS |
| 内核版本 | 最新稳定版 |
| 预装软件 | 仅基础系统 + SSH,其他按需安装 |
| 防火墙 | 启用 UFW,只开放必要端口(22, 80, 443) |
| 安全更新 | 自动启用 unattended-upgrades |
💡 额外建议
-
云服务器品牌选择:
- 国内用户:阿里云、腾讯云、华为云(网络延迟低)
- 海外用户:AWS EC2、DigitalOcean、Vultr
-
容器化方案(进阶):
FROM node:20-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . EXPOSE 3000 CMD ["node", "app.js"]使用 Docker 可以进一步隔离环境,提升可移植性。
-
监控与日志:
- 使用
PM2自带日志管理 - 或接入 Prometheus + Grafana 进行性能监控
- 使用
总结
最简推荐组合:Ubuntu 22.04/24.04 LTS + NVM + PM2 + Nginx
这套组合在社区中验证充分、维护成本低、故障排查容易,非常适合小程序后端这类中小型 Node.js 应用。
轻量云Cloud