Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何确保我的应用程序始终是可靠的_Node.js_Nginx_Npm_Pm2_Forever - Fatal编程技术网

Node.js 如何确保我的应用程序始终是可靠的

Node.js 如何确保我的应用程序始终是可靠的,node.js,nginx,npm,pm2,forever,Node.js,Nginx,Npm,Pm2,Forever,我一直在为我的服务器使用forverjs,但由于某种原因,服务器停止了,服务器没有重新启动。foreverjs可靠吗 我应该使用其他LIB吗 发现有许多LIB,如pm2、nodemon、upstart、systemd、nginx。哪一个应该确保我的应用程序始终运行。这些工具还能处理大量的请求吗 nodemon是一个很好的选择,您可以使用forever和nodemon的组合 forever start -c nodemon app.js 而且在我的经历中永远是很可靠的,试试看 forever l

我一直在为我的服务器使用forverjs,但由于某种原因,服务器停止了,服务器没有重新启动。foreverjs可靠吗

我应该使用其他LIB吗


发现有许多LIB,如pm2、nodemon、upstart、systemd、nginx。哪一个应该确保我的应用程序始终运行。这些工具还能处理大量的请求吗

nodemon是一个很好的选择,您可以使用forever和nodemon的组合

forever start -c nodemon app.js
而且在我的经历中永远是很可靠的,试试看

forever logs app.js

要查看错误的确切原因,nodemon是一个不错的选择,您可以使用forever和nodemon的组合

forever start -c nodemon app.js
而且在我的经历中永远是很可靠的,试试看

forever logs app.js

要查看错误的确切原因,您的问题中有多个问题需要分析

foreverjs可靠吗

forever
是一个非常流行的软件包,它有75个贡献者和636个提交者。这个问题主要是基于观点的,但是9/10(也许10/10)经验丰富的开发人员会说它是可靠的

我应该使用其他LIB吗

可靠性是通过坚固的软件设计实现的,而不仅仅是您选择的软件包。多年来,我一直使用
pm2
生产流程,没有任何问题。它们包括可靠性方面的强大功能,如在应用程序崩溃时尝试重新启动应用程序。包不应该修复代码中的终端错误

发现有许多LIB,如pm2、nodemon、upstart、systemd、nginx。 哪一个应该确保我的应用程序始终运行

这可以通过阅读他们的GitHub描述来找到。我使用
nodemon
快速测试编写的代码。例如,我启动
nodemon
进程,它开始我的
Node.js
进程。当我编辑代码并按save时,
Node.js
进程将自动停止,并使用新代码重新启动
nodemon
不应单独用于长时间运行的生产服务器,因为当您退出shell时,它将停止
pm2
forever
是有效的库,您可以根据需要调查
upstart
systemd
nginx

<>关于我的解释,我考虑使用<代码>永远>代码>运行<代码> NoDEMON/COD> >在上面的解释中使用<代码>永远>代码> 如何确保我的应用程序始终可靠


为了全面回答您的问题,您应该编写测试以确保您的代码是可靠的。如果您已经编写了有效的单元和集成测试,那么选择一个包来运行该过程将是微不足道的(与可靠性无关),因为您不应该期望它崩溃。

您的问题中有多个问题需要分析

foreverjs可靠吗

forever
是一个非常流行的软件包,它有75个贡献者和636个提交者。这个问题主要是基于观点的,但是9/10(也许10/10)经验丰富的开发人员会说它是可靠的

我应该使用其他LIB吗

可靠性是通过坚固的软件设计实现的,而不仅仅是您选择的软件包。多年来,我一直使用
pm2
生产流程,没有任何问题。它们包括可靠性方面的强大功能,如在应用程序崩溃时尝试重新启动应用程序。包不应该修复代码中的终端错误

发现有许多LIB,如pm2、nodemon、upstart、systemd、nginx。 哪一个应该确保我的应用程序始终运行

这可以通过阅读他们的GitHub描述来找到。我使用
nodemon
快速测试编写的代码。例如,我启动
nodemon
进程,它开始我的
Node.js
进程。当我编辑代码并按save时,
Node.js
进程将自动停止,并使用新代码重新启动
nodemon
不应单独用于长时间运行的生产服务器,因为当您退出shell时,它将停止
pm2
forever
是有效的库,您可以根据需要调查
upstart
systemd
nginx

<>关于我的解释,我考虑使用<代码>永远>代码>运行<代码> NoDEMON/COD> >在上面的解释中使用<代码>永远>代码> 如何确保我的应用程序始终可靠


为了全面回答您的问题,您应该编写测试以确保您的代码是可靠的。如果您已经编写了有效的单元和集成测试,那么选择一个包来运行该过程将是微不足道的(与可靠性无关),因为您不应该期望它崩溃。

pm2在这些情况下是一个不错的选择,我个人在所有node.js服务器中都使用pm2,与其他功能相比,它提供了许多更重要的功能
它的一个优点是可以轻松地与keymetrics/newrelic集成,以便对服务器进行分析。

此外,pm2还将为您提供cpu/内存使用率,您甚至可以配置重启限制和间隔。

pm2是一个不错的选择。在这些情况下,我个人在所有node.js服务器中都使用pm2,它提供了许多比其他服务器更重要的功能
它的一个优点是可以轻松地与keymetrics/newrelic集成,以便对服务器进行分析。

此外,pm2还将为您提供cpu/内存使用率,您甚至可以配置重启限制和间隔。

我喜欢pm2,但我也建议对其进行监控(对停止的服务发送电子邮件,但我将节点进程重启留给pm2,monit也适用于所有情况)