在现代的软件开发和系统管理中,进程管理是一个不可或缺的部分。PM2 作为一个强大的进程管理工具,它可以帮助我们管理和保持应用在线状态,自动重启崩溃应用,并提供负载均衡等高级功能。
主要特点 {#主要特点}
-
自动重启:应用崩溃时会自动重启。
-
负载均衡:在多个实例间分配负载。
-
集群模式:在所有的 CPU 核心上运行应用。
-
日志管理:实时日志查看和日志持久化。
-
监控:实时监控应用资源使用情况。
-
远程管理:通过 API 或者仪表板远程管理应用。
PM2 的安装 {#PM2-的安装}
PM2 可以通过 npm
命令轻松安装。如果系统暂未安装相关命令,则执行下面的命令「这里以 Ubuntu 系统为例」
|-----------|---------------------------------|
| 1
| sudo apt -y install npm
|
然后在命令行中运行以下命令即可安装 PM2:
|-----------|----------------------------|
| 1
| npm install pm2 -g
|
PM2 的使用 {#PM2-的使用}
要使用 PM2 启动一个应用,可使用 start
命令。例如,如果有一个名为 app.js
的 Node.js 应用,可以这样启动。PM2 会启动应用,并在后台运行:
|-----------|--------------------------|
| 1
| pm2 start api.js
|
重新启动应用程序:
|-----------|-------------------------|
| 1
| pm2 restart api
|
重新启动所有应用程序:
|-----------|-------------------------|
| 1
| pm2 restart all
|
重新启动多个应用程序:
|-----------|------------------------------------|
| 1
| pm2 restart app1 app2 app3
|
停止指定应用程序:
|-----------|----------------------|
| 1
| pm2 stop api
|
停止所有:
|-----------|----------------------|
| 1
| pm2 stop all
|
删除应用程序:
|-----------|------------------------|
| 1
| pm2 delete api
|
删除全部:
|-----------|------------------------|
| 1
| pm2 delete all
|
使用 list
命令可以查看所有由 PM2 管理应用的状态,这将显示所有应用的 ID、名称、模式、内存使用情况信息:
|-----------|------------------|
| 1
| pm2 list
|
PM2 提供了实时日志查看功能,使用 logs
命令将显示所有应用的实时日志流:
|-----------|------------------|
| 1
| pm2 logs
|
使用下面命令可重启所有由 PM2 管理的进程,可实现零停机重启:
|-----------|------------------------|
| 1
| pm2 reload all
|
输入下面命令来保存当前的进程列表,确保在重启后自动加载这些进程:
|-----------|------------------|
| 1
| pm2 save
|
使用下面命令设置开机自启:
|-----------|---------------------|
| 1
| pm2 startup
|
使用下面命令取消开机自启:
|-----------|-----------------------|
| 1
| pm2 unstartup
|
PM2 的命令 {#PM2-的命令}
PM2 提供了丰富的命令行工具,用于管理应用程序。以下是一些常用的命令:
| 命令 | 描述 | |------------|-----------| | start | 启动一个应用程序 | | stop | 停止一个应用程序 | | restart | 重启一个应用程序 | | delete | 删除一个应用程序 | | list | 列出所有应用程序 | | monit | 监控应用程序 | | dump | 导出应用程序的配置 | | reload | 重新加载应用程序 | | sendSignal | 发送信号给应用程序 | | update | 更新应用程序 |