Repolode
Unitech

Unitech/pm2

面向 Node.js 与 Bun 应用的生产环境进程管理器,内置负载均衡,可保持进程常驻并零停机重载。

Star
43,311
Fork
2,734
未关闭 Issue
1,109
最近提交
23小时前

这是什么?

PM2 是用于在生产环境中运行 Node.js 和 Bun 应用的进程管理器。它能让进程保持常驻,崩溃后自动重启,也可以管理 Python 脚本或 PATH 中的可执行程序。

集群模式会为 Node.js 应用启动多个实例,并在它们之间对 HTTP、TCP 和 UDP 流量做负载均衡,从而利用多核 CPU。重载命令可以在不停机的情况下更新正在运行的应用。PM2 还提供终端监控、日志查看与轮转,并能为 systemd、launchd 等初始化系统生成开机启动脚本,让进程随服务器一同恢复。

专用的 pm2-runtime 命令适合在 Docker 容器中运行应用。PM2 支持 Linux、macOS 和 Windows,兼容 Node.js 18 及以上版本与 Bun 1 及以上版本。

核心功能

  • 01保持 Node.js、Bun、Python 等进程常驻,故障后自动重启。
  • 02集群模式在多个实例之间对 HTTP、TCP 和 UDP 流量做负载均衡。
  • 03支持对运行中的应用零停机重载。
  • 04提供终端监控与日志查看,支持 JSON 和格式化输出。
  • 05可为 systemd、launchd 等初始化系统生成开机启动脚本。

适用场景

  • 在单台服务器上运行 Node.js API,并充分利用所有 CPU 核心。
  • 使用 pm2-runtime 命令将应用部署到 Docker 容器中。
  • 发布新版本时在不中断服务的情况下更新线上应用。
  • 让后台服务在服务器重启后自动恢复运行。

快速上手

  1. 1

    使用 npm 全局安装 PM2

    npm install pm2 -g
  2. 2

    用 PM2 启动你的应用

    pm2 start app.js
  3. 3

    列出正在运行的应用

    pm2 list

使用前须知

  • 采用 AGPL 3.0 许可证,属于 Copyleft 许可;其他授权需联系维护者。
  • 需要 Node.js 18 及以上版本或 Bun 1 及以上版本。

标签

常见问题

pm2 是什么?
面向 Node.js 与 Bun 应用的生产环境进程管理器,内置负载均衡,可保持进程常驻并零停机重载。 PM2 是用于在生产环境中运行 Node.js 和 Bun 应用的进程管理器。它能让进程保持常驻,崩溃后自动重启,也可以管理 Python 脚本或 PATH 中的可执行程序。
pm2 可以免费使用吗?用的什么许可证?
pm2 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
pm2 还在维护吗?
活跃维护中。pm2 最近一次提交是在 2026年10月21日。
pm2 适合用来做什么?
在单台服务器上运行 Node.js API,并充分利用所有 CPU 核心。 使用 pm2-runtime 命令将应用部署到 Docker 容器中。 发布新版本时在不中断服务的情况下更新线上应用。 让后台服务在服务器重启后自动恢复运行。
pm2 怎么安装和运行?
使用 npm 全局安装 PM2: npm install pm2 -g 用 PM2 启动你的应用: pm2 start app.js 列出正在运行的应用: pm2 list
在哪里获取 pm2?
源代码和安装说明在 GitHub 上:https://github.com/Unitech/pm2

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目