温馨提示×

centos配置nodejs要注意什么

小樊
41
2026-09-18 00:05:13
栏目: 编程语言

CentOS 上配置 Node.js 时,常见坑和注意事项如下,按“是否踩坑率”整理:


一、不要直接用 yum 默认源(非常重要)

CentOS 自带 yum 里的 nodejs 版本非常旧(经常是 6.x / 8.x)。

✅ 推荐方式:

  • NodeSource 官方源
curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs

  • nvm(推荐开发环境)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18

二、node / npm 权限问题(最常见)

直接用 root 跑 npm 容易出权限错误。

✅ 建议:

  • 不用 sudo npm -g
  • 或用 nvm(天然隔离)
  • 或配置 npm 全局目录:
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH

三、防火墙 & 端口

CentOS 默认有 firewalld

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload

云服务器还要放行安全组


四、SELinux 可能影响

如果 Node 端口起不来:

getenforce

可临时关闭测试:

setenforce 0

生产不建议直接关,应配置策略。


五、后台运行 Node 服务

不要用 node app.js &

✅ 推荐:

  • pm2
npm i -g pm2
pm2 start app.js
  • 或 systemd(生产最稳)

六、gcc / make 依赖

编译原生模块(如 bcrypt、sqlite)时需要:

yum groupinstall "Development Tools"

七、Node 版本选择建议

  • 新项目:18 / 20 LTS
  • 老项目:匹配原版本
  • 不要用 odd 版本(如 19、21)

八、npm 镜像(国内服务器)

npm config set registry https://registry.npmmirror.com

九、systemd 示例(可选)

[Unit]
Description=Node App
After=network.target

[Service]
User=node
WorkingDirectory=/var/www/app
ExecStart=/usr/bin/node app.js
Restart=always

[Install]
WantedBy=multi-user.target

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

  • CentOS 版本(7 / 8 / Stream)
  • 用途(开发 / 生产 / 服务器部署)

我可以给你一步到位的具体命令

0