我有一个运行node.js的实时网站表示应用程序正在侦听端口80.有没有办法在同一台服务器上轻松试验其他节点应用程序而不会在每次出现错误时导致它崩溃?
我是学习Node的新手,所以我为这个愚蠢的问题道歉。我在使用.php时更有经验,如果我想尝试MySQL查询,或者我只是创建一个新目录并反复崩溃,直到我找到解决方案并且它不会影响其余的该网站。
答案 0 :(得分:1)
一般情况下,一个进程应该与另一个进程隔离,因此一个node.js app应该与另一个node.js进程隔离,并且一个node.js进程的任何崩溃都不应该打扰另一个进程。
但是,您可以对可能影响live node.js站点的服务器执行其他不良操作。
例如,单个CPU服务器上的简单无限循环可能会使CPU周期不足以阻止其他node.js站点的正常运行。
一个非常令人发指的错误可能导致操作系统本身崩溃(不太可能,但不是闻所未闻)。
意外消耗所有磁盘空间或所有内存的错误可能会使系统不足以影响您的实时网站。
希望在一个客户端影响另一个客户端的客户端之间共享硬件的托管服务将把每个客户端放在一个VM中并设置参数,防止一个人窃取太多资源而过度影响另一个。
但是,安全的方法是使用不同的主机进行大多数测试,并且只对您认为在您的实时服务器上准备部署的第二个应用程序进行最终测试。