2013-11-27 94 views
1

截至昨天,我絕對100%地使用VPS和Linux,並且遇到了問題。這裏的過程:當我把我的筆記本電腦休眠時,在VPS(linux)上運行的NodeJS應用程序崩潰

  1. 我SSH到OSX終端我的VPS框。 VPS運行的是CentOS 6,它的價值在於它。
  2. 我導航到正確的文件夾,我運行node app.js來啓動我的應用程序NodeJS/ExpressJS
  3. 應用程序啓動,並可通過網絡在我的VPS的IP地址+分配的端口號很容易地訪問。
  4. 如果我讓我的筆記本電腦進入睡眠狀態,應用程序崩潰,無法通過網絡訪問。

再一次,是Linux新手我不確定如何解決這個問題。這是有道理的,因爲正在運行/取得節點應用程序日誌的終端不再響應,但我想要的是:

a)爲了能夠遠程啓動應用程序,只需要它。 ..run ...永遠,直到我手動停止它 b)爲了能夠間歇性地回到我的服務器以檢查日誌,無論是通過我的手機還是我的筆記本電腦。

這兩種情況有可能嗎?很明顯,我通過終端啓動應用程序的協議(正如我通常在本地運行時那樣)不是正確的方式,但是我無法找到資源告訴我該怎麼做!

編輯:我實際上使用Node Supervisor來運行應用程序,這有助於在事件崩潰時保持運行,並且不確定是否會影響情況。

回答

2

當您將筆記本電腦置於睡眠狀態時,很可能您的應用正在向標準輸出(控制檯)打印,並且該流已關閉/損壞。

至少有兩個選項:

  1. 使用screen:開始你的應用程序之前,只需鍵入screen。然後啓動你的應用。然後按Ctrl-A-D從屏幕上分離。然後,您可以安全地從VPS註銷,並讓您的筆記本電腦進入睡眠狀態。要返回到應用的輸出,請重新登錄並鍵入screen -r

  2. 在後臺運行應用程序:node app.js &

+0

完美,謝謝! – Jascination

+0

只是爲了澄清,用'Screen'我可以從OSX或從我的SSH連接到CentOS運行它嗎? – Jascination

+1

從CentOS的ssh連接中。 –

相關問題