簡體   English   中英

如何在遠程服務器上啟動NodeJS進程?

[英]How to start a NodeJS process on a remote server?

我已經創建了一個簡單的NodeJS應用程序,現在我已將其移至AWS中的服務器。

我能夠進入服務器並啟動應用程序,但很明顯,當我關閉終端時,進程就會停止。

如何在關閉終端后啟動NodeJS應用程序並繼續運行?

這不是特定的nodejs問題,盡管有特定的解決方案(例如永遠 )。

一個通用的解決方案,遠程啟動Linux上的任何程序,而不是在關閉會話時讓它死亡是使用nohup啟動它。 這是一個示例,我在其中啟動節點並將標准和錯誤輸出重定向到server.log文件中:

nohup node main.js >> server.log 2>&1 < /dev/null & 

就像Denys Seguret所說,這可以使用forever節點包來完成。 這是如何做 -

SSH進入您的服務器並作為根級用戶永久全局安裝

sudo npm install forever --global

要在aa節點腳本上永遠運行,請在與server.js相同的目錄中執行終端,如下所示 -

forever start server.js

確保通過在適當的URL上啟動瀏覽器來測試它是否正常工作。 如果要檢查服務器上運行的所有永久腳本的狀態(可以在多個腳本上運行)運行此命令 -

forever list

並且要停止永遠的腳本,你可以forever stop運行forever stop ,這將停止我相信的所有永久腳本,或forever stop 0運行forever stop 0其中0是永久列表中的腳本的索引。

我在所有gulp應用程序上永遠使用,還沒有任何問題,但我認為我的遠程服務器沒有任何重大的關閉問題。 也許如果發生這種情況,我會更多地談論永遠的可信度。 這個網站的答案有些功勞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM