在 CentOS 上配置 Node.js 集群可以通过多种方式实现,其中一种常见的方法是使用 PM2(Process Manager 2)。PM2 是一个功能强大的 Node.js 应用程序管理器,可以帮助你轻松地管理和扩展你的 Node.js 应用程序。以下是使用 PM2 在 CentOS 上配置 Node.js 集群的步骤:
首先,确保你已经在 CentOS 上安装了 Node.js。你可以使用以下命令来安装 Node.js:
sudo yum install -y nodejs npm
接下来,安装 PM2。你可以使用 npm 来安装 PM2:
sudo npm install pm2 -g
假设你已经有一个 Node.js 应用程序,并且它位于 /path/to/your/node-app 目录中。你可以使用以下命令来启动你的应用程序:
pm2 start /path/to/your/node-app/app.js --name "my-app"
PM2 提供了一个内置的集群模式,可以让你轻松地扩展你的 Node.js 应用程序。你可以使用以下命令来启动一个集群:
pm2 start /path/to/your/node-app/app.js -i max
-i max 参数告诉 PM2 根据你的 CPU 核心数来启动相应数量的进程。例如,如果你的服务器有 4 个 CPU 核心,PM2 将启动 4 个进程。
你可以使用以下命令来查看和管理你的集群:
查看所有进程:
pm2 list
查看特定进程的详细信息:
pm2 show <app_name_or_id>
停止一个进程:
pm2 stop <app_name_or_id>
重启一个进程:
pm2 restart <app_name_or_id>
删除一个进程:
pm2 delete <app_name_or_id>
为了更方便地管理你的应用程序,你可以创建一个 ecosystem.config.js 文件,并在其中定义你的应用程序配置。例如:
module.exports = {
apps: [{
name: 'my-app',
script: '/path/to/your/node-app/app.js',
instances: 'max',
exec_mode: 'cluster',
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}]
};
然后,你可以使用以下命令来启动你的应用程序:
pm2 start ecosystem.config.js --env production
通过这种方式,你可以轻松地管理和扩展你的 Node.js 应用程序集群。