温馨提示×

centos如何部署nodejs

小樊
34
2026-08-03 10:49:32
栏目: 编程语言

CentOS 上部署 Node.js,常见且推荐的方式主要有以下几种。下面从 最常用方案 → 生产环境推荐 → 启动与部署示例 详细说明。


一、准备工作(通用)

# 更新系统
sudo yum update -y

# 安装常用工具
sudo yum install -y curl wget git

二、方式一(推荐):使用 NodeSource 安装指定版本 ✅

适合:需要 长期稳定版本,如 Node 18 / 20

1️⃣ 安装 Node.js 18(示例)

curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs

2️⃣ 验证安装

node -v
npm -v

三、方式二:使用 yum 自带源(不推荐)

⚠️ CentOS 7 默认仓库 Node.js 版本很旧(v6 / v8)

sudo yum install -y nodejs npm

适合:仅做简单测试,不用于生产。


四、方式三(生产推荐):nvm 管理多版本 ✅✅

适合:

  • 多项目
  • 需要切换 Node 版本

1️⃣ 安装 nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

重新加载 shell:

source ~/.bashrc

2️⃣ 安装 Node.js

nvm install 18
nvm use 18

3️⃣ 设置默认版本

nvm alias default 18

五、生产环境部署示例(Node.js 服务)

1️⃣ 上传或拉取项目

cd /opt
git clone https://github.com/your/project.git
cd project
npm install

2️⃣ 启动项目(测试)

node app.js

六、使用 PM2 守护进程(强烈推荐)✅

1️⃣ 安装 PM2

npm install -g pm2

2️⃣ 启动项目

pm2 start app.js --name my-node-app

3️⃣ 常用命令

pm2 list
pm2 restart my-node-app
pm2 logs
pm2 stop my-node-app

4️⃣ 开机自启

pm2 startup
pm2 save

七、防火墙放行端口(如 3000)

CentOS 7

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload

八、配合 Nginx 反向代理(推荐)

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

九、推荐组合(生产环境)

CentOS 7/8
Node.js 18 LTS
PM2
Nginx
防火墙 + 非 root 用户


十、常见问题

❓ npm 很慢?

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

❓ glibc 版本过低(CentOS 7)?

  • 建议用 Node 16 / 18
  • 或升级系统到 Rocky / AlmaLinux

如果你愿意,我可以根据你的 CentOS 版本(7 / 8 / Stream)项目类型(Express / NestJS / Vue / React) 给你一套 完整部署方案

0