在阿里云上运行 Node.js 应用,通常可以选择以下几种方式:ECS(弹性计算服务)、函数计算 FC、容器服务(如 ACK 或 Serverless Kubernetes)、或使用轻量应用服务器。下面以最常用的 ECS 实例 为例,详细介绍如何配置和部署一个 Node.js 应用。
✅ 步骤一:购买并登录 ECS 实例
-
登录 阿里云控制台
-
进入 ECS 管理控制台
-
创建一台新的实例:
- 地域:选择离用户近的区域
- 镜像:推荐使用 Ubuntu 20.04/22.04 或 CentOS 7/8
- 实例规格:根据应用负载选择(开发测试可用
ecs.t5-lc1m2.small) - 安全组:确保开放了 22(SSH) 和 80/3000/5000 等端口
- 设置登录密码或上传 SSH 密钥
-
启动实例后,获取公网 IP 地址
✅ 步骤二:连接到 ECS 实例
使用 SSH 登录:
ssh root@<你的公网IP>
# 或者如果是 ubuntu 镜像
ssh ubuntu@<你的公网IP>
✅ 步骤三:安装 Node.js 和 npm
方法一:使用 NodeSource(推荐)
以 Ubuntu 为例:
# 更新包管理器
sudo apt update
# 安装 curl(如果没有)
sudo apt install -y curl
# 添加 NodeSource 源(以 Node.js 18 为例)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
# 安装 Node.js 和 npm
sudo apt install -y nodejs
# 验证安装
node --version
npm --version
推荐使用 LTS 版本(如 v18.x 或 v20.x)
✅ 步骤四:上传你的 Node.js 项目
方式 1:使用 Git 克隆
如果你的代码托管在 GitHub/Gitee:
git clone https://github.com/yourname/your-node-app.git
cd your-node-app
npm install
方式 2:本地上传文件(使用 SCP)
scp -r ./your-local-project root@<公网IP>:/root/myapp
然后在服务器上进入目录并安装依赖:
cd /root/myapp
npm install
✅ 步骤五:启动应用
假设你的入口文件是 app.js 或 server.js:
node app.js
但这样前台运行,关闭终端就停止了。建议使用进程管理工具。
✅ 步骤六:使用 PM2 管理 Node.js 进程(推荐)
PM2 可以让应用后台运行、自动重启、日志管理等。
# 全局安装 PM2
npm install -g pm2
# 启动应用
pm2 start app.js --name "my-node-app"
# 查看状态
pm2 list
# 开机自启
pm2 startup
pm2 save
✅ 步骤七:配置反向(Nginx + 域名)
1. 安装 Nginx
sudo apt install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
2. 配置 Nginx 反向
编辑配置文件:
sudo nano /etc/nginx/sites-available/default
修改 location / 部分:
server {
listen 80;
server_name your-domain.com; # 或你的公网IP
location / {
proxy_pass http://127.0.0.1:3000; # 假设你的 Node.js 应用监听 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
✅ 步骤八:域名与备案(可选)
- 在阿里云购买域名
- 进行 ICP 备案(如果服务器在中国大陆)
- 解析域名到 ECS 的公网 IP
✅ 步骤九:安全组配置
确保阿里云控制台中的 安全组规则 放行:
- 入方向:端口
80(HTTP)、443(HTTPS)、22(SSH) - 如果直接访问 Node.js(不通过 Nginx),也要放行
3000等端口
✅ 可选:使用 HTTPS(Let’s Encrypt)
使用 Certbot 配置免费 SSL 证书:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com
之后自动配置 HTTPS 并重定向 HTTP → HTTPS。
✅ 其他部署方式(简要)
| 方式 | 说明 |
|---|---|
| 函数计算 FC | 无服务器运行,适合短时任务,事件触发 |
| 容器服务(ACK) | 使用 Docker + Kubernetes,适合微服务架构 |
| 轻量应用服务器 | 简化版 ECS,适合新手快速部署 |
| Serverless 应用引擎 SAE | 直接上传代码,无需运维 |
✅ 总结:完整流程
- 购买 ECS 实例
- SSH 登录
- 安装 Node.js
- 上传代码并
npm install - 使用 PM2 启动
- 配置 Nginx 反向
- 开放安全组端口
- 绑定域名 + HTTPS(可选)
如有具体框架(如 Express、NestJS、Next.js),可进一步定制部署方式。欢迎提供你的项目类型,我可以给出更详细的配置建议!
CLOUD技术笔记