温馨提示×

centos下nodejs怎样部署

小樊
45
2026-09-27 00:36:50
栏目: 编程语言

在 CentOS 下部署 Node.js 项目,通常可以按下面步骤来做(以 CentOS 7/8 为例,适用于大多数情况)。


一、安装 Node.js

方式 1:使用 NodeSource(推荐)

# 安装依赖
sudo yum install -y gcc-c++ make curl

# 添加 NodeSource(以 Node 18 为例)
curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -

# 安装 Node.js
sudo yum install -y nodejs

# 验证
node -v
npm -v

方式 2:使用 NVM(适合多版本)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install 18

二、上传并运行 Node.js 项目

1. 上传代码

# 方式一:scp
scp -r your_project user@server:/opt/your_project

# 方式二:git
git clone https://github.com/your/repo.git

2. 安装依赖

cd /opt/your_project
npm install --production

3. 启动项目

node app.js
# 或
npm start

⚠️ 直接 node 启动会占用终端,关闭终端服务就停了


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

1. 安装 PM2

sudo npm install -g pm2

2. 启动项目

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

3. 常用命令

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

4. 开机自启

pm2 startup
pm2 save

四、使用 Nginx 反向代理(生产环境必做)

1. 安装 Nginx

sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2. 配置反向代理

编辑配置文件:

sudo vi /etc/nginx/conf.d/node.conf

示例:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1: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;
    }
}

3. 重载 Nginx

sudo nginx -t
sudo systemctl reload nginx

五、防火墙 & 端口

# 开放 80 / 443
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

六、HTTPS(可选)

sudo yum install -y certbot python3-certbot-nginx
sudo certbot --nginx

七、最简部署结构总结

Nginx (80/443)
   ↓
PM2 (Node.js)
   ↓
Node App (localhost:3000)

如果你愿意,我可以:

  • 给你一套 CentOS + Node + PM2 + Nginx 完整脚本
  • 或按你的 框架(Express / Nest / Next.js) 专门讲部署方式

0 踩