在阿里云Linux服务器上部署 Node.js 小程序后端,可以按照以下步骤进行。假设你使用的是 ECS(Elastic Compute Service) 实例,操作系统为 CentOS 或 Ubuntu。
✅ 一、准备工作
-
购买并登录阿里云 ECS 实例
- 登录 阿里云控制台
- 创建一台 Linux 服务器(推荐 CentOS 7+/Ubuntu 20.04+)
- 记下公网 IP 地址
- 配置安全组:开放端口
80(HTTP)、443(HTTPS)、22(SSH),以及你的 Node.js 应用端口(如3000)
-
连接服务器(使用 SSH)
ssh root@你的公网IP输入密码或使用密钥登录。
✅ 二、安装 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
方法二:直接下载(以 CentOS 为例)
# 下载 Node.js(替换为你需要的版本)
wget https://nodejs.org/dist/v18.17.0/node-v18.17.0-linux-x64.tar.xz
# 解压
tar -xf node-v18.17.0-linux-x64.tar.xz
# 移动到 /usr/local/
sudo mv node-v18.17.0-linux-x64 /usr/local/nodejs
# 添加环境变量
echo 'export PATH=/usr/local/nodejs/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 验证
node -v
npm -v
✅ 三、上传你的小程序后端代码
你可以通过以下方式上传代码:
方式 1:使用 Git 克隆项目
git clone https://github.com/yourname/your-nodejs-app.git
cd your-nodejs-app
npm install
方式 2:使用 SCP 上传本地文件
scp -r ./your-project root@你的IP:/root/
然后在服务器上进入目录并安装依赖:
cd /root/your-project
npm install
✅ 四、配置启动脚本与进程守护(使用 PM2)
PM2 可以让 Node.js 应用后台运行,并自动重启。
# 全局安装 PM2
npm install -g pm2
# 启动你的应用(假设入口文件是 app.js 或 server.js)
pm2 start app.js --name "miniapp-backend"
# 设置开机自启
pm2 startup
pm2 save
常用命令:
pm2 list # 查看运行中的进程
pm2 logs # 查看日志
pm2 restart app # 重启应用
pm2 stop app # 停止应用
✅ 五、配置反向X_X(使用 Nginx)
建议使用 Nginx 做反向X_X,便于管理 HTTPS 和域名。
1. 安装 Nginx
CentOS:
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
Ubuntu:
sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置 Nginx 反向X_X
编辑配置文件:
sudo vim /etc/nginx/conf.d/miniapp.conf
内容示例(假设你的 Node.js 服务监听 3000 端口):
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;
}
}
3. 重载 Nginx 配置
sudo nginx -t # 测试配置
sudo systemctl reload nginx
✅ 六、配置域名和 HTTPS(可选但推荐)
-
绑定域名
- 在阿里云 域名控制台 解析你的域名到服务器公网 IP(A 记录)
-
申请免费 SSL 证书(Let’s Encrypt)
使用 Certbot 自动申请:
# 安装 certbot
sudo yum install certbot python3-certbot-nginx -y # CentOS
# 或
sudo apt install certbot python3-certbot-nginx -y # Ubuntu
# 申请证书(替换 your-domain.com)
sudo certbot --nginx -d your-domain.com
Certbot 会自动修改 Nginx 配置启用 HTTPS。
✅ 七、小程序前端配置
在微信开发者工具中,确保请求域名已添加到 request 白名单:
- 登录 微信公众平台
- 进入「开发」->「开发管理」->「开发设置」
- 在「服务器域名」中添加你的 HTTPS 域名,如:
https://your-domain.com
✅ 八、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 无法访问网站 | 检查安全组是否开放 80/443 端口 |
| Node.js 无法启动 | 使用 pm2 logs 查看错误日志 |
| Nginx 502 错误 | 检查 Node.js 是否在运行,端口是否正确 |
| 域名无法解析 | 检查 DNS 解析记录是否生效 |
✅ 总结流程图
购买 ECS → SSH 登录 → 安装 Node.js → 上传代码 → 安装 PM2 → 启动服务
↓
安装 Nginx → 配置反向X_X → 绑定域名 → 配置 HTTPS → 小程序配置域名
如果你提供具体的技术栈(如 Express/Koa/NestJS)、数据库(MongoDB/MySQL)等,我可以进一步给出详细配置。
云计算