[英]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.