在腾讯云的 Debian 镜像上部署 Node.js,其实比 CentOS 或 Ubuntu 要稍微“原始”一点,因为 Debian 默认源里的 Node.js 版本往往比较老,或者干脆没有直接提供最新版的二进制包。
作为开发者,我不推荐直接用 apt install nodejs 装那个系统自带的版本(除非你只是跑个简单的 Hello World 测试),因为版本太旧且缺少 npm 的完整依赖链。
下面给你整理三条最靠谱的路径,按推荐程度排序:
方案一:使用 nvm 安装(最推荐,适合开发环境)
这是前端和全栈开发的标准做法。nvm (Node Version Manager) 允许你在同一台机器上切换不同版本的 Node.js,而且不需要 sudo 权限,不会污染系统环境。
步骤:
-
登录服务器
ssh root@你的腾讯云IP -
安装 nvm
复制官方脚本并执行(如果网络不通,可能需要先配置XX或换国内镜像源,见文末避坑指南):curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash注意:执行完后,必须关闭当前终端重新打开,或者手动 source 一下配置文件:
source ~/.bashrc # 或者 source ~/.profile -
验证 nvm 是否生效
nvm --version如果有版本号输出,说明成功。
-
安装 Node.js
安装 LTS 版本(长期支持版,稳定):nvm install --lts或者指定具体版本(比如 v18.16.0):
nvm install 18.16.0 -
设置默认版本
nvm alias default node -
验证安装
node -v npm -v
方案二:使用 NodeSource 官方源(适合生产环境/系统级安装)
如果你希望 Node.js 像普通软件一样通过 apt 管理,并且需要全局安装、开机自启等特性,NodeSource 提供的脚本是最干净的第三方源方案。它比从源码编译快得多,又比 nvm 更“系统化”。
步骤:
-
安装依赖
apt update apt install -y curl gnupg -
运行 NodeSource 安装脚本
这里以安装 Node.js 18.x (LTS) 为例:curl -fsSL https://deb.nodesource.com/setup_18.x | bash -注意:这个脚本会自动添加 NodeSource 的 GPG key 和 apt 源到系统中。
-
安装 Node.js
apt install -y nodejs注意:这里的
nodejs包已经包含了npm,不需要单独装。 -
验证
node -v npm -v
方案三:从官网下载二进制包解压(最灵活,离线友好)
如果你的服务器在内网,或者无法访问 GitHub/npm 源,可以从 Node.js 官网下载 Linux x64 的二进制压缩包,手动解压并配置环境变量。
步骤:
-
下载对应版本
去 nodejs.org 找到你想要的版本,复制链接。例如:cd /usr/local/src wget https://nodejs.org/dist/v18.16.0/node-v18.16.0-linux-x64.tar.xz -
解压
tar -xvf node-v18.16.0-linux-x64.tar.xz -
重命名并移动(可选,方便管理)
mv node-v18.16.0-linux-x64 /usr/local/lib/nodejs -
配置环境变量
编辑/etc/profile或~/.bashrc:nano ~/.bashrc在文件末尾添加:
export PATH=/usr/local/lib/nodejs/bin:$PATH保存退出后,执行:
source ~/.bashrc -
验证
node -v npm -v
⚠️ 腾讯云 + Debian 特别注意事项(避坑指南)
-
网络问题(最关键)
-
Debian 默认的 apt 源在国外,下载慢且容易超时。建议先更换为阿里云或清华大学的 Debian 镜像源。
-
修改 sources.list:
cp /etc/apt/sources.list /etc/apt/sources.list.bak nano /etc/apt/sources.list清空内容,替换为阿里云源(以 Debian 11 Bullseye 为例):
deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib deb http://mirrors.aliyun.com/debian-security/ bullseye-security main deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib然后执行
apt update。 -
nvm 安装失败?
如果curl下载 nvm 脚本失败,是因为 GitHub 在国内访问不稳定。你可以手动创建~/.nvm目录,然后通过浏览器下载 nvm 的 zip 包上传上去解压,或者使用国内提速镜像(如淘宝镜像)来安装特定版本的 Node。
-
-
防火墙与安全组
- 安装了 Node.js 后,如果你要启动一个服务(比如监听 3000 端口),别忘了在腾讯云控制台的安全组里放行对应端口。
- 同时在服务器内部,如果使用
ufw或iptables,也要确保端口开放。Debian 默认可能没开防火墙,但安全组是云厂商层面的,必须配。
-
权限问题
- 不要随意使用
sudo npm install -g xxx,这容易导致后续权限混乱。如果是用 nvm,所有操作都在用户目录下,无需 sudo。如果是用 NodeSource 方式,部分全局包可能需要 sudo,但尽量保持干净。
- 不要随意使用
-
PM2 进程管理
- 装好 Node.js 后,强烈建议立即安装 PM2 来管理你的应用进程,防止 SSH 断开后服务挂掉:
npm install -g pm2 pm2 start your-app.js pm2 save pm2 startup
- 装好 Node.js 后,强烈建议立即安装 PM2 来管理你的应用进程,防止 SSH 断开后服务挂掉:
总结
- 个人开发/多版本切换 -> 选 nvm(方案一)。
- 生产环境/追求稳定/系统集成 -> 选 NodeSource(方案二)。
- 内网/离线/特殊架构 -> 选 二进制包(方案三)。
对于大多数腾讯云用户,方案一(nvm) 是最省心、最不容易出错的。记得先搞定 apt 源提速,否则后面装 npm 包时会卡死。
云技术博客