温馨提示×

centos pm2如何配置nodejs

小樊
35
2026-07-20 01:24:52
栏目: 编程语言

CentOS 上通过 PM2 配置并管理 Node.js 应用,一般流程如下(从环境准备到常见配置):


一、安装 Node.js(如果还没装)

方式一:使用 NodeSource(推荐)

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

验证:

node -v
npm -v

二、安装 PM2

npm install -g pm2

验证:

pm2 -v

三、启动 Node.js 项目

假设你的项目目录是:

/opt/app/my-node-app

入口文件是:

app.js 或 server.js

启动方式 1:直接启动

cd /opt/app/my-node-app
pm2 start app.js

启动方式 2:指定应用名称

pm2 start app.js --name my-api

四、PM2 常用配置

1️⃣ 查看进程

pm2 list

2️⃣ 查看日志

pm2 logs
pm2 logs my-api

3️⃣ 重启 / 停止 / 删除

pm2 restart my-api
pm2 stop my-api
pm2 delete my-api

4️⃣ 开机自启(非常重要)

pm2 startup

执行后会提示一条命令,直接复制执行即可。

保存当前进程:

pm2 save

五、使用 PM2 配置文件(推荐)

新建配置文件

pm2 ecosystem

会生成:

ecosystem.config.js

示例配置

module.exports = {
  apps: [
    {
      name: 'my-api',
      script: './app.js',
      cwd: '/opt/app/my-node-app',
      instances: 2,
      exec_mode: 'cluster',
      autorestart: true,
      watch: false,
      max_memory_restart: '500M',
      env: {
        NODE_ENV: 'production',
        PORT: 3000
      }
    }
  ]
}

使用配置文件启动

pm2 start ecosystem.config.js

六、配合 Nginx(常见生产环境)

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

七、常见问题

1️⃣ PM2 启动后端口没监听

  • 检查 PORT
  • 查看日志:pm2 logs

2️⃣ CentOS 防火墙

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

3️⃣ 权限问题

sudo chown -R $(whoami):$(whoami) /opt/app/my-node-app

八、总结(最简流程)

# 安装
npm install -g pm2

# 启动
pm2 start app.js --name my-api

# 开机自启
pm2 startup
pm2 save

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ Node.js 版本
  • ✅ 是否需要 HTTPS / Nginx / Docker

我可以给你一套完全贴合你服务器的配置方案

0