温馨提示×

debian nodejs服务怎么部署

小樊
34
2026-10-04 14:56:48
栏目: 编程语言

在 Debian 上部署 Node.js 服务,通常分为 安装 Node.js → 上传/拉取代码 → 安装依赖 → 启动服务 → 设置开机自启与反向代理 几个步骤。下面给你一套生产环境常用方案。


一、安装 Node.js(推荐用 NodeSource)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Node.js(以 20.x 为例)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

验证:

node -v
npm -v

二、部署 Node.js 项目

方式一:直接上传代码

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

三、使用 PM2 管理 Node 服务(强烈推荐)

1. 安装 PM2

sudo npm install -g pm2

2. 启动服务

pm2 start app.js --name myapp

3. 常用命令

pm2 list
pm2 logs myapp
pm2 restart myapp
pm2 stop myapp

4. 开机自启

pm2 startup
pm2 save

四、使用 Nginx 做反向代理(标准做法)

1. 安装 Nginx

sudo apt install nginx -y

2. 配置站点

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;
    }
}

3. 启用配置

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

五、开启 HTTPS(可选但建议)

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

如果你愿意,可以告诉我:

  • 用的是 Express / NestJS / Next.js / Nuxt 哪个?
  • 是否要 Docker 部署?
  • 是否 内网服务器 / 云服务器?

我可以直接给你一份针对你项目的部署方案。

0 踩