Update avaliable. Click RELOAD to update.
📱 安装应用到主屏幕,获得更好体验
目录

Pm2 Cluster Reload Auto Restart


title: 使用 PM2 管理 Node.js 应用:集群模式、重载与自动重启 name: pm2-cluster-reload-auto-restart date: 2026-04-29 tags: [pm2, nodejs, clustering, restart, automation] excerpt: 深入讲解 PM2 的集群模式、零停机重载、代码变更自动重启等常用功能,帮助提升 Node.js 应用的稳定性与性能 categories: [DevOps] —

PM2 是一个流行的 Node.js 进程管理器,专为提高 Node.js 应用的可靠性与性能而设计。它具有集群模式、零停机重载、自动重启等功能,可以帮助开发者更好地管理生产环境中的应用。本文将介绍 PM2 的一些常用功能,帮助你轻松部署、监控和管理 Node.js 应用。

1. 集群模式

在集群模式下,PM2 会启动多个进程来分担负载,从而提升应用的性能。你可以通过以下命令启动多个实例:

$ pm2 start app.js -i 4

此命令会启动 app.js 的 4 个实例,每个实例会在独立的进程中运行,利用多核处理器提升应用性能。

2. 零停机重载

PM2 支持零停机重载功能,这意味着即使你更新了代码,PM2 也会在不中断服务的情况下重新加载应用。使用以下命令重载应用:

$ pm2 reload app

这个命令会在不影响用户请求的情况下,重启应用的所有进程。

3. 代码变更自动重启

PM2 还提供了代码变更自动重启的功能。当你修改了代码文件,PM2 会自动重新加载应用。你可以通过以下命令开启自动重启功能:

$ pm2 start app.js --watch

如果你希望忽略某些文件夹(例如 node_moduleslogs),可以使用 --ignore-watch 参数:

$ pm2 start app.js --watch --ignore-watch="node_modules logs"

4. 设置内存上限,超过自动重启

为了防止内存泄漏导致应用崩溃,你可以设置内存上限。若应用占用的内存超过该限制,PM2 会自动重启进程。以下命令设置内存上限为 300MB:

$ pm2 start app.js --max-memory-restart 300M

5. 定时重启

PM2 支持定时重启功能。你可以设置一个 cron 表达式来定期重启应用。例如,以下命令会在每天凌晨 3 点重启应用:

$ pm2 start app.js --cron-restart="0 3 * * *"

6. 实时监控面板

PM2 提供了一个实时监控面板,帮助你查看应用的性能和进程状态。你可以使用以下命令启动监控面板:

$ pm2 monit

7. 进程分组

你可以将不同的进程分组管理,为每个进程指定一个名称,这样方便管理。例如,启动 dify-apidify-worker 两个进程,并重启 dify-api 进程:

$ pm2 start app.js --name dify-api
$ pm2 start worker.js --name dify-worker
$ pm2 restart dify-api

8. 总结

PM2 是一个强大的工具,可以帮助你高效管理和优化 Node.js 应用。它提供了集群模式、零停机重载、自动重启等功能,确保你的应用在生产环境中始终稳定运行。如果你还没有使用 PM2,现在是时候尝试它了!

版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2026/04/pm2-cluster-reload-auto-restart/

Related posts