温馨提示×

Debian 系统中 Node.js 配置步骤

小樊
33
2025-12-07 05:12:58
栏目: 编程语言

Debian 系统中 Node.js 配置步骤

一 安装方式选择

  • 使用 NodeSource 二进制分发库:适合在系统范围内安装并维护特定版本的 Node.js,步骤简洁、与 APT 生态兼容好。
  • 使用 NVM(Node Version Manager):适合在同一台机器上管理多个 Node.js 版本,开发/测试环境切换方便。
  • 源码编译安装:适合需要特定构建选项或深度定制的场景,过程相对复杂。
    以上三种方式均为常见且可靠的安装途径,可按用途选择其一。

二 方法一 NodeSource 安装与系统级配置

  • 更新索引并安装必要工具:
    sudo apt update && sudo apt install -y ca-certificates curl gnupg
  • 添加 NodeSource 仓库(示例为 20.x,可按需替换为 18.x/22.x 等):
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
  • 安装 Node.js 与 npm:
    sudo apt install -y nodejs
  • 验证安装:
    node -v
    npm -v
  • 可选 全局包目录与权限:
    • 建议将全局包安装到用户目录,避免系统目录权限问题:
      mkdir -p ~/.npm-global
      npm config set prefix ‘~/.npm-global’
    • 将全局 bin 目录加入 PATH(写入 ~/.bashrc 或 ~/.zshrc):
      echo ‘export PATH=$HOME/.npm-global/bin:$PATH’ >> ~/.bashrc
      source ~/.bashrc
    • 验证:npm config get prefix。

三 方法二 NVM 安装与多版本管理

  • 安装 NVM(示例版本 v0.39.7):
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  • 加载 NVM(或重新打开终端):
    source ~/.bashrc
  • 安装与切换版本:
    • 安装最新 LTS:nvm install --lts
    • 安装指定版本:nvm install 18.18.2
    • 使用版本:nvm use 18.18.2;设为默认:nvm alias default 18.18.2
  • 验证:
    node -v
    npm -v
  • 说明:NVM 安装的 Node.js 位于用户目录,通常无需额外配置系统级 PATH。

四 环境变量与多版本切换

  • 使用 NVM 时的 Shell 配置(确保每次登录可用):
    echo ‘export NVM_DIR=“$HOME/.nvm”’ >> ~/.bashrc
    echo ‘[ -s “$NVM_DIR/nvm.sh” ] && . “$NVM_DIR/nvm.sh”’ >> ~/.bashrc
    source ~/.bashrc
  • 系统级 PATH 调整(仅在非 NVM 场景或自定义安装路径时需要):
    • 编辑全局环境:sudo nano /etc/environment(在 PATH 末尾追加如 /usr/local/bin
    • 或编辑用户环境:echo ‘export PATH=$PATH:/usr/local/bin’ >> ~/.bashrc && source ~/.bashrc
  • 多版本共存与切换(不使用 NVM 时可选):
    sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 100
    sudo update-alternatives --install /usr/bin/npm npm /usr/bin/npm 100
    sudo update-alternatives --config node
    sudo update-alternatives --config npm

五 部署与运行最佳实践

  • 使用 PM2 守护进程:
    sudo npm install -g pm2
    pm2 start app.js --name my-app
    pm2 startup # 按提示生成 systemd 服务,随系统自启
    pm2 save
  • 使用 Nginx 反向代理(示例将 80 端口转发到 3000):
    sudo apt install -y nginx
    sudo tee /etc/nginx/sites-available/node <<‘EOF’
    server {
    listen 80;
    server_name your_domain_or_ip;
    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;
    }
    }
    EOF
    sudo ln -s /etc/nginx/sites-available/node /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl reload nginx
  • 防火墙放行(如使用 UFW):
    sudo ufw allow ‘Nginx Full’
    sudo ufw enable

0