简介
PM2 是一个 Node.js 进程管理器,用于管理和监控多个 Node.js 应用程序。它提供了丰富的功能,如进程守护、日志记录、负载均衡和集群管理。本文将提供一份详细的指南,带你逐步了解如何使用 PM2 部署 Node.js 应用程序。
安装 PM2
使用 npm 全局安装 PM2:
npm install pm2 -g
创建 Node.js 应用程序
首先,创建一个简单的 Node.js 应用程序,例如:
// app.js
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(3000);
使用 PM2 启动应用程序
要使用 PM2 启动应用程序,可以使用以下命令:
pm2 start app.js
此命令将在后台启动你的应用程序并创建一个名为 "app" 的 PM2 进程。
查看应用程序列表
要查看正在运行的 PM2 应用程序列表,可以使用以下命令:
pm2 ls
这将显示一个表格,其中包含进程名称、状态、PID、内存使用情况和 CPU 使用情况。
停止应用程序
要停止应用程序,可以使用以下命令:
pm2 stop app
这将停止名为 "app" 的 PM2 进程。
设置自动重新启动
PM2 可以自动重新启动崩溃的进程。要启用此功能,可以在命令中添加 --watch
选项:
pm2 start app.js --watch
日志记录
PM2 提供了内置的日志记录功能。要查看应用程序的日志,可以使用以下命令:
pm2 logs app
这将显示应用程序的 stdout 和 stderr 日志。
负载均衡
PM2 可以通过创建多个应用程序副本并使用负载均衡器在它们之间分配流量来实现负载均衡。要创建集群,可以使用以下命令:
pm2 scale app 2
这将在集群模式下启动两个应用程序副本。
集群管理
PM2 提供了多种命令来管理集群,例如:
pm2 kill
:杀死所有集群实例pm2 resurrect
:重新启动所有集群实例pm2 scale app [数量]
:调整集群中的应用程序副本数量
最佳实践
为了最佳实践,建议遵循以下准则:
- 使用
--name
选项为进程命名,以便于识别。 - 使用
--watch
选项启用自动重新启动。 - 设置应用环境,例如
NODE_ENV
和PORT
。 - 使用日志记录功能来监视应用程序的运行状况。
- 在生产环境中使用负载均衡和集群。
总结
PM2 是一个强大的 Node.js 进程管理器,提供了管理和监控应用程序所需的所有功能。通过遵循本指南,你可以轻松地将你的应用程序部署到生产环境,确保其稳定性和可靠性。