温馨提示×

linux nodejs配置需要注意什么

小樊
36
2026-10-18 22:58:21
栏目: 编程语言

在 Linux 上配置 Node.js 时,有几个常见坑点和最佳实践需要注意,下面按「安装 → 权限 → 环境 → 运行 → 安全」几个维度总结:


一、安装方式(别直接 apt 默认装)

1️⃣ 推荐方式

  • NodeSource(官方源,版本新)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
  • nvm(开发环境强烈推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20

✅ 优点:可多版本切换、不影响系统

❌ 不推荐:sudo apt install nodejs(版本旧)


二、权限问题(最重要)

2️⃣ 不要用 root 跑 npm

❌ 错误:

sudo npm install -g xxx

✅ 正确:

npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH

或:

sudo chown -R $USER:$USER /usr/local/lib/node_modules

⚠️ 否则会出现:

  • EACCES
  • 权限混乱
  • 安全隐患

三、环境变量

3️⃣ PATH 配置

确保:

which node
which npm

如果 nvm 不生效:

source ~/.bashrc
# 或
source ~/.zshrc

四、生产运行注意事项

4️⃣ 不要直接 node app.js

✅ 使用进程管理器:

  • PM2(最常用)
npm i -g pm2
pm2 start app.js
pm2 save
pm2 startup
  • 或使用 systemd

五、端口 & 防火墙

5️⃣ 端口权限

  • Node 监听 < 1024 端口(如 80)需要 root
  • 推荐:
# 用 nginx 反向代理
node -> 3000
nginx -> 80

防火墙:

sudo ufw allow 3000

六、文件 & 编码

6️⃣ 时区 & 编码

timedatectl
locale

Node 默认 UTF-8,但数据库/日志要注意


七、安全

7️⃣ 安全建议

  • 固定 Node 版本
  • 定期 npm audit
  • 不用 eval
  • 不暴露 node_modules
  • 使用 .env + dotenv

八、常见错误汇总

问题 原因
command not found PATH 没配
EACCES 用 root 装 npm
端口占用 进程没关
生产崩 没 PM2/systemd
版本不一致 多 node 混用

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

  • ✅ 是 开发机 / 服务器
  • ✅ Ubuntu / CentOS / Debian
  • ✅ 是否用于 生产环境

我可以给你一份专属配置方案。

0 踩