配置文件
在 PM2 中,配置文件是一个强大的工具,它允许用户设置进程管理的各项参数,优化应用的启动和运行方式。PM2 配置文件通常是一个 JSON 或 JavaScript 文件,包含了关于应用启动的各类信息。
1. 配置文件的基本结构
PM2 配置文件包含了多个字段,每个字段代表了不同的设置选项。以下是一个简单的配置文件示例:
{
"apps": [
{
"name": "my-app",
"script": "./app.js",
"instances": 2,
"watch": true,
"env": {
"NODE_ENV": "production"
}
}
]
}
- apps: 定义了多个应用的数组,每个应用可以有独立的设置。
- name: 应用的名称,用于在 PM2 中标识应用。
- script: 启动应用的脚本路径。
- instances: 定义应用实例的数量,支持多核分配。
- watch: 是否启用文件监控,当文件变动时自动重启应用。
- env: 环境变量的设置,
NODE_ENV通常设为production或development。
2. 配置项详细说明
- name: 应用的名称,用于 PM2 中的标识。可以是任意字符串。
- script: 启动应用的主脚本,可以是 JavaScript、TypeScript 或其他支持的文件。
- instances: 设置实例数量。你可以指定一个数字,或者使用
max来根据机器的 CPU 核数自动启动实例。 - watch: 如果为
true,PM2 将监控文件系统变化,自动重启应用。适用于开发环境。 - env: 环境变量,可以指定多个环境变量以供不同的环境使用。
例如,在开发环境中你可能会设置不同的数据库连接字符串,或者不同的日志级别。
3. 高级配置选项
除了基础配置,PM2 还提供了许多高级功能来优化应用的性能和管理。
- exec_mode: 定义应用的执行模式。常见的模式有
fork(单进程模式)和cluster(多进程模式)。
"exec_mode": "cluster"
- error_file 和 out_file: 用于指定错误日志和标准输出日志的位置。
"error_file": "./logs/app-error.log",
"out_file": "./logs/app-output.log"
- merge_logs: 将多个实例的日志合并到一个文件中。
"merge_logs": true
- cron_restart: 允许定期重启应用,比如每小时或每天重启一次。
"cron_restart": "0 * * * *"
4. 如何使用 PM2 配置文件
要使用 PM2 配置文件,首先需要将其保存为一个文件(例如 ecosystem.config.js 或 ecosystem.json)。然后,通过以下命令启动应用:
pm2 start ecosystem.config.js
PM2 将根据配置文件中的设置启动应用并管理其生命周期。如果配置文件发生变化,可以使用以下命令重新加载配置:
pm2 reload ecosystem.config.js
5. 结语
PM2 配置文件为应用提供了灵活的配置和管理方式,尤其适用于需要高可用性和稳定性的生产环境。通过合理配置 PM2,你可以轻松管理 Node.js 应用,优化性能,并确保应用的高效运行。
PM2 的配置文件让你对应用管理有了更多的控制,无论是日志管理、实例管理,还是监控与重启策略,都可以通过配置文件轻松实现。
相关内容
- PM2 崩溃恢复 了解 PM2 的崩溃恢复机制,掌握如何配置进程崩溃后的自动重启,以保证 Node.js 应用在遇到异常时能够快速恢复,保持高可用性和稳定性。
- PM2 重启策略 了解 PM2 的重启策略,掌握如何根据不同的需求配置自动重启规则,如内存限制、时间限制、重启次数等,确保 Node.js 应用在异常时能自动恢复,保持高可用性。
- PM2 集群模式的优势 了解使用 PM2 集群模式的优势,如何通过负载均衡、多进程管理和高可用性提升 Node.js 应用的性能、稳定性和容错性。
- PM2 启动集群 学习如何通过 PM2 启动集群模式,以充分利用服务器的多核 CPU 提升 Node.js 应用的性能。PM2 集群模式提供了负载均衡、高可用性和自动恢复的功能,...
- PM2 应用部署 了解如何使用 PM2 进行 Node.js 应用的部署,掌握常见的部署方式、配置管理和自动化部署流程,确保应用能够在生产环境中高效、稳定地运行。
- PM2 自动化流程 掌握如何使用 PM2 配置自动化部署流程,利用 Git 集成和自定义部署脚本,实现应用的持续集成与持续部署(CI/CD),确保代码快速、安全地部署到生产环境。