簡體   English   中英

nodejs'永遠'只是沒有做任何事情

[英]nodejs 'forever' just doesn't do anything

我試圖永遠使用Amazon EC2實例運行我的nodejs應用程序。 我安裝了nodejs npm,然后運行sudo npm install forever -g
安裝沒有返回任何錯誤,所以我繼續嘗試使用forever start server.js運行我的應用程序,但它不會做任何事情 - 沒有輸出什么 - 所以,甚至沒有錯誤。
我也試過forever --help ,只是forever ,但沒有人給我任何回應...

當使用nodejs定期運行我的應用程序 - nodejs init.js然后它按預期工作,但我需要讓它forever運行,所以當我從服務器斷開連接時它不會關閉。

編輯:
因為我唯一的問題是當我關閉終端會話到我的EC2服務器時nodejs正在關閉,我通過使用linux nohup命令解決了這個問題:
nohup sudo nodejs server.js &
即使在我關閉終端窗口之后,這也使nodejs在子進程中運行。

謝謝你的幫助! :)

我也沒有收到任何forever命令的任何stdout輸入,這個修復釘了它:

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

希望能幫助別人。

我不知道這是否會有所幫助,但作為替代方案,您可以使用upstart 創建一個這樣的腳本:

#this is the upstart service task. move it to /etc/init/nodeapp.conf

description "server for Node App"
author "Neels Grobler"

chdir /root/servers/nodeapp
exec node init.js 1>stdout.log 2>stderr.log
respawn

並通過鍵入start nodeapp來運行它。 要停止類型stop nodeapp 您還可以更改腳本,以便節點應用程序在系統啟動時啟動等。更多信息,請訪問upstart.ubuntu.com

你應該forever start server.js使用forever start server.js而不僅僅是forever server.js

在Windows上,當你永遠運行時:

forever start app.js

你可以在文件系統中找到生成的日志文件:

C:\Users\USERNAME\.forever\SomeLogFileHere.txt

將為每個正在運行的腳本重新生成日志文件,並使用每個文件的唯一標識符。 您始終可以通過以下方式檢查哪個文件屬於哪個進程:

forever list

幾個猜測。

  • 如果使用sudo npm install forever -g ,則可能需要sudo才能永久運行。
  • 當你永遠運行時放一個完整的server.js路徑,例如forever start /home/you/source/server.js或者sudo forever start /home/you/source/server.js

暫無
暫無

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

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