PM2是一个带有负载均衡功能的Node.js应用进程管理器,适用于生产环境,它允许您永久保持应用程序活跃,并在无需停机的情况下重新加载它们,从而促进常见的DevOps任务。
安装PM2
在Linux系统上,可以通过以下步骤安装PM2:
1、下载并安装Node.js:
首先需要确保系统中已经安装了Node.js,如果没有,可以从[Node.js官网](https://nodejs.org/)下载并安装。
使用wget
命令下载Node.js安装包,并解压到指定目录:
```bash
wget https://nodejs.org/dist/v8.8.1/node-v8.8.1-linux-x64.tar.xz
tar xzf node-v8.8.1-linux-x64.tar.gz
```
将Node.js的可执行文件链接到系统路径中:
```bash
ln -s /path/to/node-v8.8.1-linux-x64/bin/node /usr/local/bin/node
ln -s /path/to/node-v8.8.1-linux-x64/bin/npm /usr/local/bin/npm
```
2、通过npm全局安装PM2:
```bash
npm install pm2 -g
```
3、验证PM2是否安装成功:
```bash
pm2 --version
```
PM2的基本命令
以下是一些常用的PM2命令及其说明:
命令 | 说明 |
pm2 start app.js | 启动app.js应用 |
pm2 start app.js --name demo | 启动应用并设置名称为demo |
pm2 stop all | 停止所有应用 |
pm2 stop [AppName] | 根据应用名停止指定应用 |
pm2 stop [ID] | 根据应用ID停止指定应用 |
pm2 delete all | 关闭并删除所有应用 |
pm2 delete [AppName] | 根据应用名关闭并删除应用 |
pm2 delete [ID] | 根据应用ID关闭并删除应用 |
pm2 startup | 创建开机自启动脚本 |
pm2 updatePM2 | 更新PM2 |
pm2 start app.js --watch | 当文件发生变化时自动重启应用 |
pm2 serve ./dist 9090 | 将目录dist作为静态服务器根目录,端口为9090 |
pm2 start app.js -i max | 启用群集模式(自动负载均衡) |
pm2 restart app.js | 重新启动应用 |
pm2 reload app.js | 0秒停机重新加载应用 |
pm2 gracefulReload all | 优雅地以群集模式重新加载所有应用 |
pm2 list | 查看启动列表 |
pm2 logs | 查看所有应用日志 |
pm2 logs [Name] | 根据指定应用名查看应用日志 |
pm2 logs [ID] | 根据指定应用ID查看应用日志 |
pm2 save | 保存当前应用列表 |
pm2 resurrect | 重启保存的应用列表 |
pm2 cleardump | 清除保存的应用列表 |
高级用法
配置文件方式启动应用
您可以创建一个JSON格式的配置文件来定义应用的启动参数,创建一个名为test.json
的文件,内容如下:
{ "apps": [ { "name": "myblog", "script": "java", "args": ["-XX:+UseG1GC", "-jar", "my-blog-3.3.0-SNAPSHOT.jar"], "error_file": "./log/err.log", "out_file": "./log/out.log", "merge_logs": true, "log_date_format": "YYYY/MM/DD HH:mm:ss", "min_uptime": "60s", "max_restarts": 30, "autorestart": true, "restart_delay": "60s" } ] }
然后使用以下命令启动应用:
pm2 start test.json
集群模式
PM2可以在集群模式下运行,这有助于提高应用的性能和可用性。
pm2 start app.js -i max
这将根据CPU的核心数目启动相应数量的进程实例,并在这些实例之间进行负载均衡。
Web监控仪表板(PM2 Plus)
PM2 Plus提供了一个基于Web的仪表板,可以实时监控应用的状态、资源使用情况等,要使用PM2 Plus,首先需要在PM2中注册您的服务器:
登录到http://app.pm2.io并注册一个账户。 在终端中运行以下命令,将PM2链接到您的账户: pm2 link <your-bucket> <your-unique-id>
然后在Web仪表板上监控您的应用和服务器资源。
注意事项
1、PM2只能管理Node.js进程,无法管理其他类型的进程。
2、确保应用程序代码是无状态的,否则在集群模式下可能会出现数据不一致的问题。
3、正确配置应用的入口文件,否则PM2可能无法正常启动应用。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/57886.html