我與PM2實驗和具體我測試有像下面這樣的JSON格式的配置文件中聲明我節點應用的功能:爲什麼這些基於pm2的節點進程每隔一兩秒就停止並重新啓動?
{
"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
...它最初開始罰款,然後每隔一秒左右就停止之間交替,停止和啓動(當我使用監視monit的PM2它)
我檢查錯誤日誌,我看到重複LY:
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);
注:
RangeError: "port" argument must be >= 0 and < 65536
包含繼承人我在這(server.js和server2.js)測試節點服務器中的JS我都嘗試process.env.NODE_PORT和process.env.port
此外,當我設置端口具體使用以下並運行它運行良好的節點處理。
.listen(3000);
爲什麼端口分配看起來不是有效的(根據我在錯誤日誌中看到的內容)?我需要改變這個工作?
我使用的是pm2版本2.1.5和Node.js版本6.2.2。
你嘗試過'NODE_PORT'和'port',但是你嘗試過'PORT'嗎? – david
@david謝謝,是的,我做到了。 – tamak
@david我也做了console.log(process);和console.log(process.env),我根本沒有看到PORT。我難倒了! – tamak