0

我有一个Windows Azure的VM(Linux服务器14.04)运行和我能够用我的Mac/Windows机器命令行来访问虚拟机。我在这个Azure虚拟机上运行一个node.js服务器和一个mongodb实例。保持在Azure虚拟机服务器的NodeJS运行

的问题是,这对的NodeJS VM服务器的某个时候(超时之类的事情)后断开连接。虚拟机上的服务器可能无限期地运行并保持服务请求?

PS:我的VM被无限期地正常运行,但在虚拟机本身的服务器的NodeJS超时一段时间后。请帮忙!

谢谢。

+0

Node.js不会简单地“超时”。问题一定是您的应用程序崩溃并且无法重新启动。您可以使用[PM2](https://github.com/Unitech/pm2)运行您的应用程序,以便在应用程序崩溃时重新启动应用程序。因此,不是使用'node app.js'运行你的应用程序,而是使用'pm2 start app.js'运行它。 'npm install -g pm2'来安装。 – Svenskunganka

回答

0

随着Azure的虚拟机将无法入睡或关机本身,也不会停止任何服务器在其上运行。 和PER你的描述

的服务器的NodeJS上的虚拟机本身超时之后的某个

这个问题似乎什么@svenskunganka说的一样。

您可以查看发生了什么错误“某个时候”,利用PM2作为@Daniel和@svenskunganka建议。

当您部署使用的NodeJS PM2项目,将监视应用程序,并自动记录错误。您还可以从Azure门户监视器面板监视VM度量标准(例如CUP使用情况,网络输入/输出)。

+0

谢谢你的回复。有效。有谁知道如何将相同的东西应用到运行在同一虚拟机上的mongodb服务器实例? –

+0

如果你的意思是监测PM2中的mongodb,也许你可以参考https://github.com/pm2-hive/pm2-mongodb。但我不熟悉它,您可以指定您的问题,并打开一个新的线索,让专家更容易搜索您的问题。 –

+0

明白了。必须启动MongoDB进程作为服务,将进程妖魔化。因此,nodejs服务器和mongodb服务器都在虚拟机上无限期地工作。谢谢您的帮助。 :) –

1

它可能只是崩溃!

准系统节点应用没有得到单独监控。 这可能听起来有点疯狂,如果你来自其他网络框架/平台,如ASP.NETPHP你有IISApache监测你的应用程序,这是一种很好的tbh。在node.js你选择你的process manager /监测系统。从我的经验,最流行和最良好的支持PMsExpressjs文档中列出的:http://expressjs.com/advanced/pm.html

+0

谢谢你的回复。有效。有谁知道如何将相同的东西应用到运行在同一虚拟机上的mongodb服务器实例? –

相关问题