在生产环境中运行PM2和Node.js
在Stream,我们构建了许多应用程序来展示我们的服务所提供的出色功能。对于几乎所有的应用程序,我们都将它们放在一个云服务器上—通常是DigitalOcean或AWS EC2。
虽然维护代码库和维持它的相关性是有困难的,但我们发现,在维护应用程序时,最具挑战性的是保持它的活动和运行。
此外,由于Node.js是大多数后端API的核心语言,因此很难扩展单个线程进程;这就是PM2发挥作用的地方,也是我们如此喜欢使用它的原因。
现在有很多流程管理器,最著名的是Forever、StrongLoop的流程管理器和good ol ' SystemD。还有PM2,下载量超过6000万次,GitHub之星达到2.5万颗(而且还在不断上升!)我们喜欢PM2,因为简单地说,它易于使用,并且可以完美的管理生产环境。
PM2是什么呢?
PM2是一个经过测试的,Node.js应用程序的生产运行时和进程管理器。它还配备了内置的负载均衡器,使扩展应用程序更加容易。最重要的是,它可以在Linux、Windows和MacOS上工作。
我们使用配置文件(process.json),就可以指定要运行哪些进程以及要扩展到多少进程。启动PM2时,可以指定process.json文件,而PM2负责其余的事务。(更多关于