13

永久に使用して、Amazon EC2 インスタンスで nodejs アプリを実行しようとしています。nodejs npmをインストールしてから実行しましsudo npm install forever -gた。
インストールはエラーを返さなかったので、先に進んで を使​​用してアプリを実行しようとしforever start server.jsましたが、何も実行されません - 何の出力もエラーもありません。
私も試しforever --helpてみforeverましたが、どれも反応がありません...

nodejsを使用して定期的にアプリを実行すると、期待どおりに動作しますが、サーバーから切断してもシャットダウンしないようnodejs init.jsに実行する必要があります。forever

編集:
私が抱えていた唯一の問題は、EC2サーバーへのターミナルセッションを閉じたときにnodejsが閉じていたことだったので、次のnohupようなlinuxコマンドを使用してこれを解決しました:
nohup sudo nodejs server.js &
これにより、ターミナルを閉じた後でも子プロセスでnodejsが実行され続けました窓。

でも助けてくれてありがとう!:)

4

5 に答える 5

16

stdoutまた、どのコマンドからも入力を受け取っていませんでしたがforever、この修正によりうまくいきました。

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

それが誰かを助けることを願っています。

于 2014-09-09T19:29:46.573 に答える
2

これが役立つかどうかはわかりませんが、代わりに を使用できます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の詳細情報

于 2013-02-13T19:24:30.087 に答える
2

forever start server.jsだけでなく、使用する必要がありますforever server.js

于 2013-02-13T19:24:49.603 に答える
1

Windowsでは、次のように永遠に実行すると:

forever start app.js

生成されたログ ファイルは、ファイル システムの次の場所にあります。

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

ログ ファイルは、各ファイルの一意の識別子を使用して、実行中のスクリプトごとに再生成されます。次の方法で、どのファイルがどのプロセスに属しているかをいつでも確認できます。

forever list
于 2016-02-25T08:57:58.500 に答える
1

いくつかの推測。

  • を使用してインストールする場合、永続的に実行するsudo npm install forever -g必要がある場合があります。sudo
  • forever start /home/you/source/server.jsやなど永久に実行する場合はserver.jsのフルパスを入れるsudo forever start /home/you/source/server.js
于 2013-02-13T22:10:25.840 に答える