温馨提示×

centos怎么部署nodejs项目

小樊
33
2026-09-14 23:21:50
栏目: 编程语言

下面给你一个在 CentOS 上部署 Node.js 项目的完整常见流程,从环境准备到上线访问,适用于 CentOS 7 / 8 / Stream。


一、准备服务器环境

1. 更新系统

sudo yum update -y

2. 安装基础工具

sudo yum install -y curl wget git

二、安装 Node.js

方式一:使用 NodeSource(推荐)

以 Node.js 18 为例(可换成 20):

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

验证:

node -v
npm -v

三、上传 / 拉取 Node.js 项目

方式一:Git 拉取

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

方式二:本地上传

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

四、安装依赖并启动

cd project
npm install
npm run build   # 如果是前端项目(Vue / React)

测试启动

node app.js
# 或
npm start

确认项目能正常访问(默认端口如 3000)


五、使用 PM2 守护进程(非常重要)

1. 安装 PM2

sudo npm install -g pm2

2. 启动项目

pm2 start app.js

或指定名称:

pm2 start app.js --name my-node

3. 常用命令

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

4. 开机自启

pm2 startup
pm2 save

六、开放端口(防火墙)

CentOS 7+

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

查看:

sudo firewall-cmd --list-ports

七、使用 Nginx 反向代理(推荐)

1. 安装 Nginx

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

2. 配置反向代理

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

示例:

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;
    }
}

3. 重启 Nginx

sudo nginx -t
sudo systemctl restart nginx

八、域名 & HTTPS(可选)

  • 域名解析到服务器 IP
  • 使用 Let’s Encrypt:
sudo yum install -y certbot python3-certbot-nginx
sudo certbot --nginx

九、常见问题

端口访问不了

  • 检查防火墙
  • 检查云服务器安全组
  • Node 是否监听 0.0.0.0

npm install 慢

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

内存不足

  • 使用 pm2
  • 增加 swap

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

  • CentOS 版本
  • Node 项目类型(Express / Nest / Vue / React)
  • 是否用域名

我可以直接给你一套可复制的命令方案

0