在 Debian 上部署 Node.js 服务,通常分为 安装 Node.js → 上传/拉取代码 → 安装依赖 → 启动服务 → 设置开机自启与反向代理 几个步骤。下面给你一套生产环境常用方案。
sudo apt update
sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
验证:
node -v
npm -v
cd /var/www
sudo mkdir myapp
sudo chown $USER:$USER myapp
cd myapp
把代码传进去(scp / git):
git clone your-repo.git .
npm install
npm run build # 如果有构建步骤
启动测试:
node app.js
# 或
npm start
sudo npm install -g pm2
pm2 start app.js --name myapp
pm2 list
pm2 logs myapp
pm2 restart myapp
pm2 stop myapp
pm2 startup
pm2 save
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/myapp
示例配置:
server {
listen 80;
server_name your-domain.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_cache_bypass $http_upgrade;
}
}
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
sudo ufw allow 80
sudo ufw allow 443
Debian
├── Node.js (PM2)
├── Nginx (反向代理)
└── 域名 + HTTPS
如果你愿意,可以告诉我:
我可以直接给你一份针对你项目的部署方案。