私はPM2を試してよ、具体的に、私は私のノードのアプリケーションは次のようにJSON形式の構成ファイルで宣言持つ能力をテストしています:なぜこれらのpm2ベースのノードプロセスは2秒おきに停止して再起動しますか?
{
"apps": [
{
"exec_mode": "cluster_mode",
"script": "./server.js",
"name": "proj-0",
"watch": true,
"max_memory_restart": "500G",
"env": {
"NODE_ENV": "development",
"PORT": 3000
},
"error_file": "./logs/proj-0_test.err.log",
"out_file": "./logs/logs/proj-0_test.out.log"
},
{
"exec_mode": "cluster_mode",
"script": "./server2.js",
"name": "proj-1",
"watch": true,
"max_memory_restart": "500G",
"env": {
"NODE_ENV": "development",
"PORT": 3001
},
"error_file": "./logs/proj-1_test.err.log",
"out_file": "./logs/logs/proj-1_test.out.log"
}
]
}
私はCLIコマンドを使用してPM2を起動する場合:
pm2 start configuration_test.json
...それは最初に罰金を開始し、その後、毎秒またはそれが停止とを交互に、停止し、(私はPM2のMONITを使用して、それを監視する場合)を起動
私は、エラーログをチェックし、私は繰り返し見ますLY:私はprocess.env.NODE_PORT両方を試みた:
var http = require('http');
var process = require('process');
http.createServer(function(req, res) {
res.writeHead(200);
res.end("hello world. PID: " + process.pid + ". " + process.env.NODE_PORT);
}).listen(process.env.NODE_PORT);
注:私はこの(server.jsとserver2.js)でテストしていたノード・サーバ内に含ま
相続人RangeError: "port" argument must be >= 0 and < 65536
JSそしてprocess.env.port
また、私は次のようにポートを設定し、ノードプロセスを実行するとうまく動作します。
.listen(3000);
(エラーログに表示される内容に基づいて)ポート割り当てが有効でないように見えるのはなぜですか?これが機能するためには何を変更する必要がありますか?
私はpm2バージョン2.1.5とNode.jsバージョン6.2.2を使用しています。
'NODE_PORT'と' port'を試しましたが、 'PORT'を試しましたか? – david
@davidありがとう、はい、私はしました。 – tamak
@david私もconsole.log(プロセス)しました。とconsole.log(process.env)と私はそこにポートが表示されません。私は困った! – tamak