[英]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
才能永久運行。 forever start /home/you/source/server.js
或者sudo forever start /home/you/source/server.js
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.