温馨提示×

debian怎么部署nodejs服务

小樊
43
2026-10-22 03:31:30
栏目: 编程语言

在 Debian 上部署 Node.js 服务,通常分为 安装 Node.js → 编写/上传项目 → 运行服务 → 设置开机自启/反向代理 几个步骤。下面给你一套常用且稳妥的方案。


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

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装依赖

sudo apt install -y curl gnupg2 ca-certificates

3. 添加 NodeSource 源(以 Node 20 为例)

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

4. 安装 Node.js

sudo apt install -y nodejs

5. 验证

node -v
npm -v

二、部署 Node.js 项目

方式一:直接上传代码

cd /var/www
sudo mkdir myapp
sudo chown $USER:$USER myapp
cd myapp

上传项目(git / scp / ftp 均可):

git clone your_repo.git .
npm install
npm run build   # 如有构建步骤

方式二:示例最小服务

// app.js
const http = require('http');
const server = http.createServer((req, res) => {
  res.end('Hello Debian Node.js');
});
server.listen(3000, () => console.log('running on 3000'));

运行:

node app.js

三、使用 PM2 管理进程(强烈推荐)

1. 安装 PM2

sudo npm install -g pm2

2. 启动项目

pm2 start app.js --name myapp

3. 常用命令

pm2 list
pm2 logs
pm2 restart myapp
pm2 stop myapp

4. 开机自启

pm2 startup
pm2 save

四、使用 Nginx 做反向代理(生产环境推荐)

1. 安装 Nginx

sudo apt install -y nginx

2. 配置反向代理

sudo nano /etc/nginx/sites-available/myapp

内容示例:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1: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 ufw allow 80
sudo ufw allow 443

六、HTTPS(可选)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com

七、最小生产部署总结

✅ Node.js
✅ PM2
✅ Nginx
✅ 域名 + HTTPS

如果你告诉我:

  • Debian 版本(11 / 12)
  • Node 版本需求
  • 是否用 Docker
  • 是否已有项目结构

我可以直接给你定制部署命令。

0 踩