什么是 PM2?
PM2 是一个流行的 Node.js 进程管理器,可以帮助我们将 Node.js 进程作为守护进程运行,并监控它们的健康状况。PM2 可以用于启动多个 Node.js 应用程序实例,以便利用多核 CPU 和实现负载均衡。
在生产环境中,使用 PM2 可以快速部署 Node.js 应用程序,并实现自动化部署和运维。
PM2 的基本概念
在学习 PM2 的基础概念之前,我们需要先了解一些概念:
- 进程
- 守护进程
- 重启、重载、重复运行
进程
进程是操作系统中正在运行的程序的实例。在 Node.js 中,可以通过 process
对象来访问当前进程的信息,如进程 ID、工作目录、环境变量等。
守护进程
守护进程是一种常驻内存的进程,通常用于对其他进程的运行状态进行监控和管理。在 Node.js 中,使用 PM2 可以将 Node.js 进程作为守护进程运行。
重启、重载、重复运行
在 PM2 中,有三个概念需要注意:
- 重启:在修改配置或代码后,需要重启进程以使更改生效。
- 重载:在不重启进程的情况下,通过发送信号让进程重新加载代码和配置。
- 重复运行:同一个应用程序不能在同一个端口上启动多个实例。
PM2 常用指令
下面介绍一些常用的 PM2 指令:
启动进程
启动进程最简单的方式是通过 pm2 start
命令。例如:
pm2 start app.js --name my-app
上面的命令将启动 app.js
,并将进程命名为 my-app
。
列出正在运行的进程
使用 pm2 list
命令可以列出当前正在运行的进程:
$ pm2 list ┌──────────┬────┬─────────┬─────────┬────────┬─────────┬────────┬──────────┐ │ App name │ id │ version │ mode │ pid │ status │ restart│ uptime │ ├──────────┼────┼─────────┼─────────┼────────┼─────────┼────────┼──────────┤ │ my-app │ 0 │ 1.0.0 │ fork │ 18702 │ online │ 0 │ 10m │ │ my-app │ 1 │ 1.0.0 │ fork │ 18703 │ online │ 0 │ 10m │ └──────────┴────┴─────────┴─────────┴────────┴─────────┴────────┴──────────┘
停止进程
通过 pm2 stop
命令可以停止一个进程:
$ pm2 stop my-app
重启进程
使用 pm2 restart
命令可以重启一个进程:
$ pm2 restart my-app
监视进程日志
使用 pm2 logs
命令可以监听所有进程的日志:
$ pm2 logs
使用 pm2 logs my-app
可以监听特定进程的日志。
监听代码变化重载进程
使用 pm2 start app.js --watch
命令可以监听代码变化,并在代码变化时自动重载进程。
总结
本文介绍了 PM2 的基本概念和常用指令,对于初学者来说是一个很好的入门指南。使用 PM2 可以方便地管理 Node.js 应用程序,加速开发和部署过程。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647c1ee2968c7c53b074b61a