温馨提示×

centos下nodejs怎么部署

小樊
39
2026-09-18 00:03:15
栏目: 编程语言

在 CentOS 下部署 Node.js 项目,一般有以下几种常见方式。下面从基础环境安装 → 项目部署 → 生产环境运行 → 常见方案一步步说明。


一、安装 Node.js(CentOS)

方式 1:使用 NodeSource(推荐)

curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -
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
nvm use 18

二、上传 Node.js 项目

1. 安装 Git(可选)

sudo yum install -y git

2. 克隆或上传代码

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

或本地打包后:

scp -r project user@ip:/home/user/

三、运行 Node.js 项目

方式 1:直接运行(测试用)

node app.js
# 或
npm start

⚠️ 关闭终端即停止


方式 2:使用 PM2(生产推荐 ✅)

npm install -g pm2
pm2 start app.js
pm2 startup
pm2 save

常用命令:

pm2 list
pm2 logs
pm2 restart app
pm2 stop app

四、使用 Nginx 反向代理(常见生产架构)

1. 安装 Nginx

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

2. 配置反向代理

server {
    listen 80;
    server_name yourdomain.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;
    }
}
sudo nginx -t
sudo systemctl restart nginx

五、防火墙设置

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

六、HTTPS(可选)

使用 Certbot:

sudo yum install -y certbot python2-certbot-nginx
sudo certbot --nginx

七、常见部署架构总结

场景 方案
本地测试 node app.js
生产环境 Node + PM2 + Nginx
微服务 Docker + Node
高可用 Nginx + 多 Node 实例

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

  • CentOS 版本(7 / 8 / Stream)
  • Node 项目类型(Express / Nest / Vue / Next)
  • 是否用 Docker

我可以直接给你一套完整可复制的部署命令。

0 踩