你需要准备什么
- 一台云服务器(阿里云/腾讯云/轻量应用服务器均可)
- 一个域名(可选,但强烈建议)
- 你的 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