如何通过pm2高效守护并优化.NET Core应用程序的运行状态与性能?

2026-04-01 11:281阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计874个文字,预计阅读时间需要4分钟。

如何通过pm2高效守护并优化.NET Core应用程序的运行状态与性能?

一.守护进程的概念及英文名称:daemon守护进程具有守护神的思想。守护进程是一个在后台运行且不受终端控制的过程,不会因会话结束而退出。例如:MySQL、Apache等。

一.守护进程的前世今生

守护进程,英文名:“daemon",也有守护神的意思。守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。诸如 mysql、apache 等这类程序默认就提供了守护进程或者以守护进程的方式工作,我们熟悉的 “mysqld”、"pm2.io/


-------------

usage: pm2 [options] <command>

pm2 -h, --help all available commands and options
pm2 examples display pm2 usage examples
pm2 <command> -h help on a specific command

Access pm2 files in ~/.pm2

4.2 使用

4.2.1 常用命令

命令 说明 pm2 startup 设置pm2开机自启动 pm2 unstartup 移除pm2开机自启动 pm2 save 保存当前进程开机自启动 pm2 start <进程启动命令> [--name <进程名>] 启动应用程序 pm2 list 显示所有进程状态 pm2 monit 监控进程 pm2 logs [进程id或名字] 显示进程日志 pm2 stop [all] 停止[所有]进程 pm2 restart [all] 重启[所有]进程 pm2 delete [<进程名或者id>,all] 删除指定[所有]进程 pm2 info [进程id或名字] 查看应用程序信息

官方文档:pm2.keymetrics.io/docs/usage/quick-start/

五. 使用 pm2 守护 ASP.NET Core 应用程序

5.1 创建一个 webapi 项目

# 创建项目 dotnet new webapi --no-localhost:5000/api/values

5.2.2 查看日志

pm2 logs testwebapi

5.2.3 查看应用程序信息

pm2 info testwebapi

5.2.4 监控应用程序

pm2 monit testwebapi

5.2.3 重启策略

pm2 会在你的应用程序异常退出时,自动帮你重启,所谓异常退出,指退出代码非0。

测试:

修改 ValueController 添加退出代码为1的代码:

发布,并使用 pm2 启动(此处略)。

通过 pm2 list查询应用程序重启次数为0:

如何通过pm2高效守护并优化.NET Core应用程序的运行状态与性能?

访问 api 触发异常退出:

curl localhost:5000/api/values

再次通过 pm2 list命令查询可以发现重启了:

六.结束

pm2 这个工具相对于 Supervisor 和 nohup 来说,对于Supervisor,没有配置,不用输很长的命令;对于 nohup 管理进程方便。欢迎大家与我交流。

pm2官方文档

CentOS 7 源码编译安装 NodeJS by 晓晨Master

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对易盾网络的支持。

本文共计874个文字,预计阅读时间需要4分钟。

如何通过pm2高效守护并优化.NET Core应用程序的运行状态与性能?

一.守护进程的概念及英文名称:daemon守护进程具有守护神的思想。守护进程是一个在后台运行且不受终端控制的过程,不会因会话结束而退出。例如:MySQL、Apache等。

一.守护进程的前世今生

守护进程,英文名:“daemon",也有守护神的意思。守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。诸如 mysql、apache 等这类程序默认就提供了守护进程或者以守护进程的方式工作,我们熟悉的 “mysqld”、"pm2.io/


-------------

usage: pm2 [options] <command>

pm2 -h, --help all available commands and options
pm2 examples display pm2 usage examples
pm2 <command> -h help on a specific command

Access pm2 files in ~/.pm2

4.2 使用

4.2.1 常用命令

命令 说明 pm2 startup 设置pm2开机自启动 pm2 unstartup 移除pm2开机自启动 pm2 save 保存当前进程开机自启动 pm2 start <进程启动命令> [--name <进程名>] 启动应用程序 pm2 list 显示所有进程状态 pm2 monit 监控进程 pm2 logs [进程id或名字] 显示进程日志 pm2 stop [all] 停止[所有]进程 pm2 restart [all] 重启[所有]进程 pm2 delete [<进程名或者id>,all] 删除指定[所有]进程 pm2 info [进程id或名字] 查看应用程序信息

官方文档:pm2.keymetrics.io/docs/usage/quick-start/

五. 使用 pm2 守护 ASP.NET Core 应用程序

5.1 创建一个 webapi 项目

# 创建项目 dotnet new webapi --no-localhost:5000/api/values

5.2.2 查看日志

pm2 logs testwebapi

5.2.3 查看应用程序信息

pm2 info testwebapi

5.2.4 监控应用程序

pm2 monit testwebapi

5.2.3 重启策略

pm2 会在你的应用程序异常退出时,自动帮你重启,所谓异常退出,指退出代码非0。

测试:

修改 ValueController 添加退出代码为1的代码:

发布,并使用 pm2 启动(此处略)。

通过 pm2 list查询应用程序重启次数为0:

如何通过pm2高效守护并优化.NET Core应用程序的运行状态与性能?

访问 api 触发异常退出:

curl localhost:5000/api/values

再次通过 pm2 list命令查询可以发现重启了:

六.结束

pm2 这个工具相对于 Supervisor 和 nohup 来说,对于Supervisor,没有配置,不用输很长的命令;对于 nohup 管理进程方便。欢迎大家与我交流。

pm2官方文档

CentOS 7 源码编译安装 NodeJS by 晓晨Master

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对易盾网络的支持。