在现代的软件开发和系统管理中,进程管理是一个不可或缺的部分。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 | 更新应用程序 |
51工具盒子