⭐️ Furion v4 版本支持【所有历史版本】无缝升级,一套代码兼容 .NET 5+ ⭐️
Skip to main content

34.6 pm2 部署

34.6.1 关于 pm2

pm2NodeJS 平台高级生产流程管理器,也是一个守护进程管理器,它能够管理和保持应用程序 7*24 小时在线。

pm2 优点:

  • 简单易用
  • 跨平台
  • 容器集成
  • 内置集群、负载均衡
  • 支持模块系统
  • 支持实时监测
  • 支持日志管理
  • 支持关键指标监控 ....

想了解更多 pm2 知识可查阅 https://pm2.keymetrics.io/

34.6.2 如何安装

  1. 系统安装 NodeJS 环境 https://nodejs.org/en/

相信大部分人电脑都已经安装。

  1. 通过 npmyarn 全局安装 pm2 工具

npm:

npm install pm2@latest -g

yarn:

yarn global add pm2

34.6.3 托管 .NET5/6 应用程序

34.6.3.1 非单文件/非独立发布模式

这种模式的特点就是需要服务器安装 .NET5/6 的环境

pm2 start --name xxx dotnet -- xxx.dll
指定端口

如需指定端口,可使用下列命令:

pm2 start --name xxx dotnet -- PMS.Web.Entry.dll --urls=https://localhost:8089

注意 -- 后面可以写完整的 dotnet 命令。

命令说明

xxx.dll 为项目发布后的启动层名称。

--name 配置应用程序在 pm2 中的唯一标识。

终端说明

注意:通过 -- 传递参数在 powershell 终端下无效,需要在 cmd 终端下才行。比如出现这样的错误:

34.6.3.2 单文件/独立发布模式

这种模式的特点就是无需服务器安装 .NET 任何环境,可查阅 单文件发布文档

pm2 start --name xxx PMS.Web.Entry.exe
指定端口

如需指定端口,可使用下列命令:

pm2 start --name xxx PMS.Web.Entry.exe -- --urls=https://localhost:8089

注意 -- 后面可以写完整的 dotnet 命令。

命令说明

xxx.exe 为项目发布后的启动层名称,如果名称包含 空格,则使用双引号包裹,如 "x xx.exe"

--name 配置应用程序在 pm2 中的唯一标识。

终端说明

注意:通过 -- 传递参数在 powershell 终端下无效,需要在 cmd 终端下才行。

34.6.3.3 启用应用程序

执行上述命令后会显示启动成功日志,如:

PS C:\Users\bqrjsoft\Desktop\pms> pm2 start --name pms PMS.Web.Entry.exe[PM2] Starting C:\Users\bqrjsoft\Desktop\pms\PMS.Web.Entry.exe in fork_mode (1 instance)[PM2] Done.┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤0   │ pms    │ default     │ N/A     │ fork    │ 41764    │ 0s     │ 0    │ online    │ 0%       │ 85.0mb   │ bqrjsoft │ disabled │└─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘PS C:\Users\bqrjsoft\Desktop\pms>
关于端口

ASP.NET Core 程序默认端口都是 5000,如 http://localhost:5000

34.6.4 pm2 常见操作

34.6.4.1 实时监听运行状态

pm2 monit

34.6.4.2 显示运行日志

pm2 logs

34.6.4.3 查看应用信息

pm2 info pms

注意,pms 为您配置的 --name 名称。

34.6.4.4 随机启动

pm2 startuppm2 save
Windows 下随机启动

可查阅 pm2-windows-startup

npm install pm2-windows-startup -gpm2-startup installpm2 save

34.6.4.5 集群模式(负载均衡)

  • 非单文件/非独立发布模式
pm2 start "xxx.dll" -i max
  • 单文件/独立发布模式
pm2 start xxx.exe -i max

34.6.4.6 其他操作

// 重启应用pm2 restart app_name// 重载应用pm2 reload app_name// 停止应用pm2 stop app_name// 删除应用pm2 delete app_name

更多 pm2 文档可查阅 https://pm2.keymetrics.io/docs/usage/quick-start/

34.6.5 反馈与建议

与我们交流

给 Furion 提 Issue

演练场