# PM2 图形界面

URL: https://caijiao.org/pm2/extensions/gui
Source: docs/pm2/extensions/gui.md
Description: 了解如何使用 PM2 的图形界面（PM2 GUI）来管理 Node.js 应用，提供直观的应用监控、管理、日志查看和故障排除功能，提升开发和运维效率。

PM2 提供了一种可视化的图形界面，方便开发者通过浏览器管理和监控 Node.js 应用。通过 PM2 图形界面，用户可以直观地查看应用的状态、日志、性能指标，并执行常见的管理操作，如启动、重启、停止应用等。图形界面使得应用管理更加高效，特别适用于需要在生产环境中进行实时监控和故障排查的情况。

## 1. **安装 PM2 图形界面**

PM2 图形界面是通过 `pm2-gui` 插件提供的。要启用图形界面，你需要先安装该插件。

### 安装 PM2 图形界面

```bash
pm2 install pm2-gui
````

此命令会安装 PM2 图形界面插件，并自动启动图形界面服务器。安装完成后，你可以通过浏览器访问 PM2 图形界面。

## 2. **访问 PM2 图形界面**

安装并启动 PM2 图形界面后，默认情况下，你可以在浏览器中通过以下地址访问它：

```txt
http://localhost:9615
```

你可以根据需要修改默认端口。在浏览器中访问这个 URL 后，PM2 图形界面将展示你所有的应用和进程状态。

### 登录

第一次访问图形界面时，你可能需要设置登录用户名和密码。你可以在启动图形界面时通过命令行指定用户名和密码：

```bash
pm2 gui --username admin --password mypassword
```

这将设置用户名为 `admin`，密码为 `mypassword`。你可以在浏览器中使用这些凭据进行登录。

## 3. **PM2 图形界面的功能**

PM2 图形界面提供了许多功能，以下是其中的一些主要功能：

### 1. **应用状态管理**

图形界面可以显示当前运行的所有应用及其状态。你可以通过界面查看每个应用的 CPU 使用率、内存使用情况、进程状态（运行中、停止等），并执行常见的管理操作：

* **启动应用**：点击按钮启动新的应用进程。
* **停止应用**：停止正在运行的应用。
* **重启应用**：快速重启应用，应用配置或代码发生变化时非常有用。

### 2. **进程监控**

PM2 图形界面可以实时监控每个应用的资源使用情况。它显示以下性能指标：

* **CPU 使用率**：显示每个进程的 CPU 使用情况。
* **内存使用量**：显示每个进程的内存占用。
* **启动时间**：显示每个进程的启动时间。
* **日志**：点击查看实时日志输出，帮助开发者及时发现错误和警告。

### 3. **日志查看与分析**

PM2 图形界面支持查看应用的标准输出和错误日志。你可以通过界面查看最近的日志条目，进行实时监控，快速识别和排查应用中的问题。

### 4. **配置管理**

你可以通过图形界面方便地编辑应用的配置文件（如 `ecosystem.config.js`），并将配置更改应用到正在运行的进程。图形界面允许你直接在界面中进行配置修改，避免手动编辑配置文件。

### 5. **警报与通知**

在 PM2 图形界面中，你可以设置警报，当某个应用的 CPU 或内存使用超过设定的阈值时，自动发送通知。这对于生产环境中的资源监控非常有帮助，能够及时发现并解决性能瓶颈问题。

### 6. **应用分析**

PM2 图形界面还提供了应用的性能分析工具，帮助开发者了解应用在不同时间段的表现。你可以查看 CPU、内存使用的趋势，分析应用性能瓶颈，并做出相应的优化。

## 4. **PM2 图形界面的高级配置**

你可以通过命令行对 PM2 图形界面进行一些高级配置：

### 1. **自定义端口**

默认情况下，PM2 图形界面使用端口 `9615`。如果此端口已经被其他应用占用，或者你希望将其改为其他端口，可以通过以下命令设置：

```bash
pm2 gui --port 8080
```

这将图形界面的访问端口修改为 `8080`。

### 2. **启用 HTTPS**

为了提高安全性，你可以为 PM2 图形界面启用 HTTPS。首先，你需要准备好 SSL 证书（`.crt` 文件）和私钥（`.key` 文件）。然后，使用以下命令启动图形界面：

```bash
pm2 gui --https --cert /path/to/cert.crt --key /path/to/cert.key
```

这将启动一个安全的 HTTPS 服务，确保图形界面的访问更为安全。

### 3. **启用 Basic Auth（基本认证）**

如果你希望图形界面只有授权用户可以访问，可以启用基本认证功能：

```bash
pm2 gui --username myusername --password mypassword
```

此时，你访问 PM2 图形界面时，必须输入设置的用户名和密码才能登录。

## 5. **总结**

PM2 图形界面为开发者和运维人员提供了直观的应用管理界面，便于快速启动、重启、停止应用，实时查看日志，监控应用性能，并进行配置管理。它简化了很多日常管理任务，提升了运维效率。

无论是开发阶段还是生产环境，PM2 图形界面都能够帮助你高效管理和优化 Node.js 应用，确保系统稳定运行。
