2015-10-17 111 views
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服務器實例? –

相關問題