美文网首页
分享4个Linux中Node.js的进程管理器

分享4个Linux中Node.js的进程管理器

作者: 星月落 | 来源:发表于2019-08-11 13:41 被阅读0次

Node.js进程管理器是一个有用的工具,可以确保Node.js进程或脚本连续(永久)运行,并使其能够在系统引导时自动启动。

它允许您监视正在运行的服务,它有助于执行常见的系统管理任务(例如重新启动失败,停止,重新加载配置而无需停机,修改环境变量/设置,显示性能指标等等)。它还支持应用程序日志记录,群集和负载平衡,以及许多其他有用的流程管理功能。

另请参阅:2019年为开发人员提供的14个最佳NodeJS框架

包管理器尤其适用于在生产环境中部署Node.js应用程序。 在本文中,我们将回顾Linux系统中Node.js应用程序管理的四个进程管理器。

1. PM2

PM2是一个开源,高级,功能丰富,跨平台和最流行的Node.js生产级流程管理器,内置负载均衡器。它允许您列出,监视和处理所有已启动的Nodejs进程,并支持群集模式。

安装PM2以在Linux中运行Nodejs应用程序

它支持应用程序监视:提供一种监视应用程序资源(内存和CPU)使用情况的简单方法。它支持您的流程管理工作流,允许您通过流程文件配置和调整每个应用程序的行为(支持的格式包括Javascript,JSON和YAML)。

应用程序日志始终是生产环境中的关键,在这方面,PM2允许您轻松管理应用程序的日志。它提供了分别处理和显示日志的不同方式和格式。您可以实时显示日志,刷新日志,并在需要时重新加载日志。

重要的是,PM2支持启动脚本,您可以将其配置为在预期或意外的计算机重新启动时自动启动进程。它还支持在当前目录或其子目录中修改文件时自动重新启动应用程序。

此外,PM2还带有一个模块系统,允许用户为Nodejs进程管理创建自定义模块。例如,您可以为日志轮换模块或负载平衡创建模块等等。

最后但同样重要的是,如果您使用Docker容器,PM2允许容器集成,并提供允许您以编程方式使用它的API系统。

2. StrongLoop PM

StrongLoop PM也是一个开源的高级生产过程管理器,用于Node.js应用程序,内置负载平衡,就像PM2一样,它可以通过命令行或图形界面使用。

用于Nodejs的StrongLoop PM进程管理器

它支持应用程序监视(查看性能指标,如事件循环时间、CPU和内存消耗)、多主机部署、集群模式、零停机应用程序重启和升级、故障时自动进程重启以及日志聚合和管理。

此外,它附带Docker支持,允许您将性能指标导出到与状态兼容的服务器,并在第三方控制台(如DataDog、石墨、Splunk以及Syslog和原始日志文件)中查看。

3. Forever

Forever是一个开源,简单且可配置的命令行界面工具,可以连续(Forever)运行给定的脚本。它适用于运行Node.js应用程序和脚本的较小部署。您可以通过两种方式永久使用:通过命令行或将其嵌入代码中。

Forever运行脚本

它允许您管理(启动,列出,停止,停止所有,重新启动,重新启动所有等等。)Node.js进程,它支持监视文件更改,调试模式,应用程序日志,终止进程和退出信号自定义等等。此外,它还支持多种使用选项,您可以直接从命令行传递或将它们传递到JSON文件中。

4. Systemd  - 服务和系统管理器

在Linux中,Systemd是一个守护程序,用于管理系统资源,例如进程和文件系统的其他组件。 systemd管理的任何资源都称为一个单元。有不同类型的单元,包括服务,设备,插座,安装,目标和许多其他单元。

Systemd通过称为单元文件的配置文件管理单元。因此,为了像任何其他系统服务一样管理Node.js服务器,您需要为它创建一个单元文件,在这种情况下它将是一个服务文件。

为Node.js服务器创建服务文件后,可以启动它,启用它以在系统引导时自动启动,检查其状态,重新启动(停止并再次启动它)或重新加载其配置,甚至像任何其他系统服务一样停止它。

摘要

Node.js包管理器是在生产环境中部署项目的有用工具。它使应用程序永远存在,并简化了如何控制它。在本文中,我们回顾了Node.js的四个包管理器。如果您有任何疑问或问题,请使用下面的反馈表与我们联系。

版权申明:内容来源网络,版权归原创者所有。如有侵权烦请告知,我们会立即删除并表示歉意。谢谢。


了解更多技术,欢迎关注下方公众号

相关文章

  • 分享4个Linux中Node.js的进程管理器

    Node.js进程管理器是一个有用的工具,可以确保Node.js进程或脚本连续(永久)运行,并使其能够在系统引导时...

  • [基础]查看Linux服务\进程\内存等基本命令使用

    在Linux下每个执行得程序或应用都称为一个进程,类似于Windows系统中的任务管理器,同样的我们在Linux中...

  • pm2学习笔记

    概念 PM2(process manage)是JavaScript运行时Node.js的进程管理器。 基本操作 安...

  • Linux系统常用监控工具

    top命令(类似Windows下任务管理器,能够实时动态地监控并显示系统中各个进程的资源占用状况,是 Linux下...

  • shell第4章进程和服务

    Linux中的进程: ps命令 ps -aux参数解释: Linux中的会话和作业: 中断进程: Linux中的日...

  • 2018-06-04

    Linux进程的睡眠和唤醒 1 Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它...

  • window提示文件被占用无法删除

    1.鼠标右键打开任务管理器 2.打开资源管理器 3.资源管理器中搜索被占用文件进程,结束进程

  • Node之进程

    Node.js中的进程 在操作系统中,每个应用程序都是一个进程类的实例对象。在Node.js中,使用process...

  • Linux内核学习013——进程调度(二)

    Linux内核学习013——进程调度(二) Linux的进程调度 早期版本(1~2.4)的Linux内核中,调度程...

  • Linux进程基础行为(二)

    本节主要讲Linux进程间通信在Linux中,各个进程都共享内核空间,因此LInux进程通信中的管道,消息队列等都...

网友评论

      本文标题:分享4个Linux中Node.js的进程管理器

      本文链接:https://www.haomeiwen.com/subject/iwzjjctx.html