温馨提示×

debian怎样部署nodejs

小樊
38
2026-10-19 06:10:33
栏目: 编程语言

在 Debian 上部署 Node.js 常见有几种方式,下面按推荐程度给你介绍。


一、使用 NodeSource 官方源(✅ 推荐)

适合需要较新版本 Node.js 的场景。

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装依赖

sudo apt install -y curl gnupg

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

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

可替换版本:
setup_18.x / setup_22.x

4. 安装 Node.js

sudo apt install -y nodejs

5. 验证

node -v
npm -v

二、使用 Debian 自带 apt(简单但版本旧)

适合测试或内网环境。

sudo apt update
sudo apt install -y nodejs npm

查看版本:

node -v

⚠️ Debian 稳定版中 Node 版本通常较老(如 12/18)。


三、使用 NVM(✅ 开发/多版本推荐)

适合开发、切换 Node 版本。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

重新登录或:

source ~/.bashrc

安装 Node:

nvm install 20
nvm use 20

四、部署一个 Node 服务(示例)

mkdir myapp && cd myapp
npm init -y
npm install express

app.js

const express = require('express')
const app = express()

app.get('/', (req, res) => {
  res.send('Hello Debian')
})

app.listen(3000, () => {
  console.log('Running on 3000')
})

运行:

node app.js

五、生产环境建议(很重要)

1. 使用 PM2 守护进程

sudo npm install -g pm2
pm2 start app.js
pm2 save
pm2 startup

2. 使用 Nginx 反向代理

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

3. 防火墙

sudo ufw allow 80
sudo ufw allow 443

六、常见问题

  • 权限问题:不要用 sudo npm -g
  • 端口占用:lsof -i:3000
  • 开机自启:PM2 + systemd

如果你告诉我:

  • Debian 版本(11 / 12)
  • 用途(开发 / 生产)
  • 是否用 Docker

我可以给你更精确的部署方案。

0 踩