PM2 是一个强大的进程管理工具,用于 Node.js 应用的管理、监控和负载均衡。它提供了丰富的功能,可以轻松管理多个应用程序的生命周期。以下是 PM2 的基本用法和一些常见命令。
1. 安装 PM2
首先,确保您已经安装了 Node.js 和 npm。然后可以通过以下命令全局安装 PM2:
npm install -g pm2
2. 常用命令
2.1 启动应用
要启动一个应用,可以使用以下命令:
pm2 start <script> --name <app-name>
-
<script>
:要运行的文件名,例如app.js
。 -
--name <app-name>
:给应用命名(可选)。
示例:
pm2 start app.js --name my-app
2.2 查看运行的应用
要查看当前运行的应用,可以使用:
pm2 list
2.3 停止应用
要停止某个应用,可以使用:
pm2 stop <app-name|id>
示例:
pm2 stop my-app
或者使用应用的 ID:
pm2 stop 0
2.4 重启应用
重启一个应用:
pm2 restart <app-name|id>
示例:
pm2 restart my-app
2.5 删除应用
要删除某个应用的进程:
pm2 delete <app-name|id>
示例:
pm2 delete my-app
2.6 查看应用日志
查看某个应用的日志:
pm2 logs <app-name|id>
示例:
pm2 logs my-app
要查看所有应用的日志:
pm2 logs
3. 配置文件
PM2 支持使用配置文件(如 JSON 或 YAML 格式)来管理应用,通常文件名为 ecosystem.config.js
。示例配置如下:
module.exports = {
apps: [
{
name: 'my-app',
script: 'app.js',
instances: 'max', // 启动最大实例数
exec_mode: 'cluster', // 集群模式
watch: true, // 监视文件变化自动重启
env: {
NODE_ENV: 'production',
},
env_development: {
NODE_ENV: 'development',
},
},
],
};
使用配置文件启动应用:
pm2 start ecosystem.config.js
4. 监控应用
PM2 提供了监控功能,可以实时查看应用的 CPU 和内存使用情况:
pm2 monit
5. 自启动设置
PM2 可以设置为在系统重启时自动启动应用。使用以下命令生成相应的启动脚本:
pm2 startup
然后执行生成的命令(通常会给出具体指令),以便将 PM2 设置为自启动。
6. 备份和恢复
备份当前的应用列表和状态:
pm2 save
恢复之前的应用状态:
pm2 resurrect
7. 其他功能
-
热更新:支持无缝更新应用,使用
pm2 reload <app-name|id>
。 -
集群模式:可以使用
instances
选项启动多个实例以利用多核 CPU。 - 监控和统计:提供了实时的监控和统计信息,方便进行性能分析。
总结
PM2 是一个非常强大的工具,可以有效地管理 Node.js 应用,提供了丰富的功能和灵活性。通过上述基本命令和功能,您可以轻松管理您的应用程序。可以参考 PM2 的官方网站获取更详细的文档和功能介绍。