前端面试题 - 29. Node是怎么部署的? pm2守护进程的原理?

987 阅读3分钟

Node是怎么部署的

Node.js 是一种基于 Chrome V8 引擎的 JavaScript 运行环境,可用于开发服务器端应用程序。因此,部署 Node.js 应用程序的方式与部署其他服务器端应用程序的方式类似,一般需要进行以下几个步骤:

  1. 选择合适的云服务提供商

选择一家可靠的云服务提供商,例如 AWS、Google Cloud、Microsoft Azure 等,注册并创建一个云服务器实例。

  1. 安装 Node.js

在服务器上安装 Node.js 运行环境,可使用 Node.js 官方提供的安装包或使用包管理器(例如 apt-get、yum 等)进行安装。

  1. 部署应用程序代码

将编写好的 Node.js 应用程序代码上传到服务器上,可使用 Git、FTP、SCP 等文件传输方式进行上传。部署时需要注意应用程序的依赖关系,一般可以使用 npmyarn 等包管理工具来管理依赖关系。

  1. 配置服务器

根据应用程序的需要,配置服务器环境变量、端口号、域名等相关参数。可使用 Nginx、Apache 等反向代理工具来进行负载均衡、静态文件服务等操作。

  1. 启动应用程序

在服务器上运行 Node.js 应用程序,可使用 node 命令或使用类似 pm2 的进程管理工具来管理应用程序的运行。

  1. 监听和维护

监测应用程序的运行情况,记录日志、监控异常、处理错误等,保证应用程序的稳定运行。

以上是一个基本的 Node.js 应用程序部署流程,具体的部署方式还需要根据应用程序的需要进行调整。另外,也可以使用 Docker、Kubernetes 等容器化部署方式来进行 Node.js 应用程序的部署。

pm2

PM2 是一个 Node.js 应用程序的进程管理器,可以帮助我们管理 Node.js 应用程序的启动、停止、重启、日志管理等操作。PM2 守护进程的原理可以简单概括为以下几点:

  1. 启动进程:PM2 可以启动多个 Node.js 进程,每个进程都会占用一个端口号,同时也会分配一个进程 ID。
  2. 监控进程:PM2 会监控每个进程的运行状态,包括 CPU 占用率、内存占用率、请求响应时间等指标。
  3. 定时重启进程:当进程出现异常或内存占用率、CPU 占用率超过预设阈值时,PM2 会自动重启该进程,保证进程的稳定运行。
  4. 日志管理:PM2 会自动记录每个进程的运行日志,包括错误日志、访问日志等,方便开发者进行调试和错误排查。
  5. 进程间通信:PM2 支持进程间通信,可以在不同的进程之间进行消息传递,方便在多个进程之间共享数据和状态。

总之,PM2 守护进程的原理是通过对 Node.js 进程的启动、监控、重启和日志管理等操作进行自动化管理,提高了 Node.js 应用程序的可靠性和稳定性。

pm2原理

基于 Node.js 的 Cluster 模块实现的。Node.js Cluster 模块允许将单个 Node.js 进程分裂成多个子进程,每个子进程都可以独立地处理请求,从而提高应用程序的并发处理能力。

架构图 image.png

要理解pm2就要理解god和santan的关系,god和santan的关系就相当于盖娅和黑底斯在pm2中的01世界中,每一行代码每一个字节都安静的工作god就是Daemon进程 守护进程,重启进程,守护node程序世界的安宁,santan就是进程的毁灭者,异常进程的退出,杀死进程,毁灭进程等工作,都是由这位大哥操手。

参考:www.cnblogs.com/jking10/p/1…