Foreverコマンドを使用してノードサーバーを実行しようとしています。私は永久にグローバルにインストールしました:
npm install forever -g
永久にインストールした後、以下のコマンドを使用してノードスクリプトを実行しようとします。
node_modules\.bin\forever start app.js
以下は私のコンソールです:
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up f
or at least 1000ms
info: Forever processing file: app.js
この問題を解決するために私を助けてください!
ここで、configsに対する警告以外に問題はありません。そこに最後のメッセージが表示される場合は、スクリプトが処理されたことを示しています。ただ走れ forever list
とスクリプトが実行されているはずです。
Yumリポジトリ(yum install npm
)そしてその後、永久にインストールしますが、ノードとnpmをシェルスクリプトを介してインストールし、その後永久にインストールすると、それは起こりません。これは、パッケージインストーラーの式またはインストーラーのフラグ付きのエイリアスが欠落している可能性があるため、これらの値を舞台裏で設定する必要があります。
それらが機能していないという意味ではありません。以下を参照して、ノードのサイトからサンプルコードを使用してjsファイルを作成し、手動で実行しました(アプリのポートを一時的に開くようにファイアウォールをフラッシュしましたが、それは必要ありません)。
[root@app1 ~]# vi example.js
[root@app1 ~]# apf -f
apf(23924): {glob} flushing & zeroing chain policies
apf(23924): {glob} firewall offline
[root@app1 ~]# node example.js
Server running at http://127.0.0.1:1337/
次に、永久に使用してアプリを起動します。
^C[root@app1 ~]# forever start example.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: example.js
次に、アプリが実行されているかどうかを確認します。
[root@app1 ~]# forever list
info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] dan1 /usr/bin/node example.js 23976 23978 /root/.forever/dan1.log 0:0:0:27.320
[root@app1 ~]#
これは私の問題を解決しました:
forever start -c node [path/to/app]
「-c」は-コマンドを実行することを意味します。そして、nodejsを介して実行します
このように、デフォルトでは最小でRespawnを取得します。 1000msの稼働時間
取得元: https://github.com/nodejitsu/forever/issues/422 、「Basarat」
まず、実行中のすべてのアプリを停止します。
forever stopall
次に、このコマンドを使用します。それは私のために働き、私の問題を解決しました:
forever -w ./bin/www
そして、あなたはpackage.jsonファイルでこれを見つけるべきです:
"scripts": {
"start": "node ./bin/www"
}
お役に立てば幸いです。
同じ種類の出力を生成するが、アプリケーションを起動しない1つのことは、forever
が指定されたログファイルに書き込むことができない場合です。ログファイルが大きくなりすぎて、プロセスを開始できない場合がありました。
まず、package.jsonスクリプトを次のように変更します
"scripts": {
"start": "forever ./bin/www.js"
}
linuxコンソールでこのコマンドを開始する:Sudo npm start
windowsのみ:npm start
ノードjsをExpressフレームワークで使用している場合、スクリプトは使用を開始しません。
forever start app.js
まず、実行中のすべてのアプリを停止します。
forever stopall
このExpressフレームワークを使用する場合は、次のもので開始する必要があります。
forever start ./bin/www