部署上线 付费 ⏱ 阅读约 60 分钟 2026/6/1

零基础用 AI 把 Node.js 项目部署到服务器

从买服务器到配置 Nginx、SSL 证书、PM2 进程管理,全程用 AI 辅助,不需要记命令,跟着步骤做完就能上线。

你需要准备什么

  • 一台云服务器(阿里云/腾讯云/轻量应用服务器均可)
  • 一个域名(可选,但强烈建议)
  • 你的 Node.js 项目代码

第一步:购买和配置服务器

推荐配置

用途 CPU 内存 带宽 月费
个人项目 2核 2GB 3Mbps ¥50-80
小型商业 2核 4GB 5Mbps ¥100-150

安全组配置

购买后第一件事:开放必要端口

端口 用途
22 SSH 连接
80 HTTP
443 HTTPS
3000 Node.js(临时测试用)

第二步:连接服务器

# Mac/Linux
ssh root@你的服务器IP

# Windows 用 PowerShell 或 PuTTY
ssh root@你的服务器IP

第三步:安装 Node.js

# 安装 nvm(Node 版本管理器)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 重新加载配置
source ~/.bashrc

# 安装 Node.js 20
nvm install 20
nvm use 20

# 验证安装
node --version
npm --version

第四步:上传代码

方式一:Git(推荐)

# 服务器上
git clone https://github.com/你的用户名/你的项目.git
cd 你的项目
npm install

方式二:SCP 直接上传

# 本地执行
scp -r ./dist root@服务器IP:/var/www/myapp

第五步:配置环境变量

# 在服务器上创建 .env 文件
nano /var/www/myapp/.env

把本地的 .env 内容复制进去,修改数据库地址等生产环境配置。


第六步:用 PM2 管理进程

PM2 让你的 Node.js 服务在后台持续运行,崩溃自动重启。

# 安装 PM2
npm install -g pm2

# 启动应用
pm2 start dist/server.js --name myapp

# 设置开机自启
pm2 startup
pm2 save

# 常用命令
pm2 list          # 查看所有进程
pm2 logs myapp    # 查看日志
pm2 restart myapp # 重启
pm2 stop myapp    # 停止

第七步:配置 Nginx 反向代理

# 安装 Nginx
apt update && apt install nginx -y

# 创建配置文件
nano /etc/nginx/sites-available/myapp

配置内容:

server {
    listen 80;
    server_name 你的域名.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_set_header X-Real-IP $remote_addr;
        proxy_cache_bypass $http_upgrade;
    }
}
# 启用配置
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
nginx -t          # 测试配置
systemctl reload nginx

第八步:配置 HTTPS(SSL 证书)

# 安装 Certbot
apt install certbot python3-certbot-nginx -y

# 申请证书(自动配置 Nginx)
certbot --nginx -d 你的域名.com

# 证书自动续期(已自动配置,验证一下)
certbot renew --dry-run

完成后访问 https://你的域名.com 就能看到你的应用了。


常见问题

502 Bad Gateway

Node.js 进程没有启动,检查 pm2 logs 看报错信息。

证书申请失败

确保域名已经解析到服务器 IP,DNS 生效需要几分钟到几小时。

端口被占用

lsof -i :3000  # 查看占用 3000 端口的进程
kill -9 进程ID