Node.js在CentOS上的部署策略是什么
导读:Node.js 在 CentOS 的部署策略 一 安装与版本管理 使用 NodeSource 仓库安装:适合生产环境,版本可控、便于 yum 管理。示例(以 16.x 为例):先执行 curl -fsSL https://rpm.node...
Node.js 在 CentOS 的部署策略
一 安装与版本管理
- 使用 NodeSource 仓库安装:适合生产环境,版本可控、便于 yum 管理。示例(以 16.x 为例):先执行 curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -,再执行 sudo yum install -y nodejs,最后用 node -v、npm -v 验证。
- 使用 NVM(Node Version Manager):适合多版本并存与快速切换。示例:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash,然后 source ~/.bashrc,nvm install 16,nvm use 16,必要时 nvm alias default 16。
- 使用 二进制包或脚本一键安装:下载官方 Linux x64 二进制包解压至如 /usr/local/node,将 /usr/local/node/bin 加入 PATH;或采用脚本创建软链(node/npm/pm2)并配置镜像源,便于快速落地与回滚。
二 进程管理与自启动
- 采用 PM2 托管应用:全局安装(npm install -g pm2),启动应用(pm2 start app.js --name “myapp”),查看状态(pm2 status),持久化自启动(pm2 startup),日志管理(pm2 logs)。
- 使用 Nginx 反向代理:将 Node 服务(如 3000 端口)代理到 80/443,示例配置:
server { listen 80; server_name your_domain.com; location / { proxy_pass http://localhost: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; } }
启用 Nginx:systemctl start nginx & & systemctl enable nginx。 - 开放访问与安全组:在 firewalld 放行 80/443(firewall-cmd --permanent --add-service=http --add-service=https & & firewall-cmd --reload);云上需同步开放安全组对应端口。
三 部署流程与目录规范
- 代码获取与目录:建议将应用部署到 /var/www/myapp,通过 git clone 或 SCP/FTP 上传代码。
- 依赖与构建:进入项目目录执行 npm install;前端资源构建(如 npm run build)视项目而定。
- 环境配置:使用 .env 或运行时注入(NODE_ENV=production PORT=3000 node app.js);全局包权限建议通过 npm config set prefix 配置到用户目录,避免 sudo npm。
- 启动与守护:PM2 启动并注册开机自启(pm2 startup),必要时配置集群或多实例(提升多核利用率)。
四 安全与性能优化
- 最小权限与隔离:应用以 非 root 用户运行;必要时用 systemd 服务单元限定工作目录与权限。
- 传输与证书:启用 HTTPS,可用 Let’s Encrypt 获取免费证书(certbot --nginx -d your_domain.com),并自动续期。
- 网络与内核:按需调整如 net.core.somaxconn、tcp_tw_reuse 等内核参数,提升并发与短连接处理能力。
- 应用层优化:优先使用 异步 I/O、合理使用缓存、利用 cluster 模块或 PM2 集群模式,减少阻塞、提升吞吐。
五 版本选择与升级策略
- 版本选择:长期维护的 LTS 版本优先(如 16.x/18.x/20.x),在 NodeSource 中选择对应 setup 脚本(setup_16.x/setup_18.x/setup_20.x)。
- 多版本并存:开发/测试环境用 NVM 管理多版本;生产环境建议选定单一 LTS 并通过仓库或受控二进制包管理,减少不确定性。
- 平滑升级:在灰度环境验证后升级 Node 与依赖;用 PM2 的集群或蓝绿部署降低风险,回滚时切回旧版本二进制与依赖。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Node.js在CentOS上的部署策略是什么
本文地址: https://pptw.com/jishu/770623.html
