温馨提示×

centos怎样部署nodejs服务

小樊
42
2026-10-20 09:32:33
栏目: 编程语言

在 CentOS 上部署 Node.js 服务,一般流程如下(以 CentOS 7/8 为例,适用于生产环境):


一、安装 Node.js

方式 1:使用 NodeSource(推荐,版本新)

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

验证:

node -v
npm -v

方式 2:使用 yum(版本较旧)

yum install -y nodejs npm

二、上传 Node.js 项目

# 示例
mkdir -p /www/nodeapp
cd /www/nodeapp

将项目文件上传(可用 scp / rz / git):

npm install

测试启动:

node app.js
# 或
npm start

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

安装 PM2

npm install -g pm2

启动服务

pm2 start app.js --name nodeapp

常用命令

pm2 list
pm2 logs
pm2 restart nodeapp
pm2 stop nodeapp
pm2 delete nodeapp

开机自启

pm2 startup
pm2 save

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

安装 Nginx

yum install -y nginx
systemctl start nginx
systemctl enable nginx

配置反向代理

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

重启 Nginx:

nginx -t
systemctl restart nginx

五、防火墙设置

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

六、生产部署建议

✅ 使用 PM2 管理进程
✅ 使用 Nginx 做反向代理
✅ 使用 HTTPS(Let’s Encrypt)
✅ 关闭直接 3000 端口对外访问
✅ 日志集中管理


如果你愿意,我可以:

  • 给你一份 systemd 方式部署
  • 帮你写 Docker + CentOS 部署
  • 按你的 框架(Express / Nest / Koa) 给具体示例

你当前用的是 CentOS 几?Node 版本是多少?

0 踩