CentOS Node.js配置中有哪些注意事项
导读:CentOS 上配置 Node.js 的关键注意事项 一 安装与版本选择 优先选择 Node.js LTS 版本,兼顾稳定性与安全性;不同项目如依赖差异较大,建议使用 NVM 管理多版本,便于按项目切换。示例:nvm install 18...
CentOS 上配置 Node.js 的关键注意事项
一 安装与版本选择
- 优先选择 Node.js LTS 版本,兼顾稳定性与安全性;不同项目如依赖差异较大,建议使用 NVM 管理多版本,便于按项目切换。示例:
nvm install 18 & & nvm use 18,并设置默认版本nvm alias default 18。 - 使用 NodeSource 仓库安装较新版本时,注意将命令中的版本号替换为所需版本(如 18.x、20.x):
curl -sL https://rpm.nodesource.com/setup_18.x | sudo -E bash - & & sudo yum install -y nodejs。 - 老系统(如 CentOS 7)与新版本 Node.js 可能存在 GLIBC 兼容性问题;优先用 NVM 安装匹配版本,必要时考虑升级 GLIBC 或改用容器化方案。
二 环境变量与全局包管理
- 避免仅用
export设置环境变量,因其只在当前终端会话有效;应写入用户或系统级配置文件(如 ~/.bashrc、~/.bash_profile、/etc/profile),并执行source使其生效。 - 将 Node.js 可执行文件目录加入 PATH,例如:
export PATH=$PATH:/usr/local/nodejs/bin;写入后执行source ~/.bashrc或source /etc/profile。 - 全局包权限建议使用用户级安装或配置 npm 全局目录,避免
sudo npm -g引发权限与安全风险;如需全局可用,确保全局 bin 目录在 PATH 中。
三 进程管理与反向代理
- 使用 PM2 管理进程:安装
npm install pm2 -g,启动pm2 start app.js --name my-app,设置开机自启pm2 startup,查看状态pm2 status。 - 以 Nginx 作为反向代理与静态资源服务器,启用 SSL/TLS 与 HTTP/2,并在 Nginx 侧做压缩、缓存、限流与负载均衡,减轻 Node.js 进程压力。
- 如应用使用 WebSocket,确保 Nginx 正确代理升级头与长连接,避免连接中断。
四 安全加固要点
- 保持 Node.js 与依赖为最新安全版本;使用 nvm/NodeSource 便于快速升级与回滚。
- 启用 firewalld 并仅开放必要端口:
sudo systemctl start firewalld & & sudo systemctl enable firewalld,sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https & & sudo firewall-cmd --reload。 - 全站启用 HTTPS(如 Let’s Encrypt/Certbot),并在应用中使用 Helmet 设置安全响应头、合理配置 CORS、限制请求体大小(如
express.json({ limit: '50mb' } ))。 - 使用 dotenv 等机制管理密钥与敏感配置,避免硬编码。
五 性能与系统调优
- 代码层面优先使用 异步 I/O、流(Streams),减少阻塞与内存占用;注意事件监听器清理与内存泄漏排查。
- 通过 V8 选项控制内存上限:
node --max-old-space-size=4096 app.js;或在环境变量中设置NODE_OPTIONS="--max_old_space_size=4096"(注意不同 Node 版本的选项名差异)。 - 系统层面可调优网络参数(如
net.core.somaxconn、tcp_tw_reuse等)并结合 Nginx 做静态资源缓存与连接复用;必要时使用 cluster 模式或多实例 + Nginx 负载均衡充分利用多核。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Node.js配置中有哪些注意事项
本文地址: https://pptw.com/jishu/760817.html
