在阿里云上跑Node.js应用需要怎么配置?

在阿里云上运行 Node.js 应用,通常可以选择以下几种方式:ECS(弹性计算服务)、函数计算 FC、容器服务(如 ACK 或 Serverless Kubernetes)、或使用轻量应用服务器。下面以最常用的 ECS 实例 为例,详细介绍如何配置和部署一个 Node.js 应用。


✅ 步骤一:购买并登录 ECS 实例

  1. 登录 阿里云控制台

  2. 进入 ECS 管理控制台

  3. 创建一台新的实例:

    • 地域:选择离用户近的区域
    • 镜像:推荐使用 Ubuntu 20.04/22.04CentOS 7/8
    • 实例规格:根据应用负载选择(开发测试可用 ecs.t5-lc1m2.small
    • 安全组:确保开放了 22(SSH)80/3000/5000 等端口
    • 设置登录密码或上传 SSH 密钥
  4. 启动实例后,获取公网 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.jsserver.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

✅ 步骤八:域名与备案(可选)

  1. 在阿里云购买域名
  2. 进行 ICP 备案(如果服务器在中国大陆)
  3. 解析域名到 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 直接上传代码,无需运维

✅ 总结:完整流程

  1. 购买 ECS 实例
  2. SSH 登录
  3. 安装 Node.js
  4. 上传代码并 npm install
  5. 使用 PM2 启动
  6. 配置 Nginx 反向
  7. 开放安全组端口
  8. 绑定域名 + HTTPS(可选)

如有具体框架(如 Express、NestJS、Next.js),可进一步定制部署方式。欢迎提供你的项目类型,我可以给出更详细的配置建议!