命令“pm2 reload all”无法重启

时间:2017-03-31 04:55:07

标签: reload pm2

1.我使用命令

pm2 start pm2.json

我的pm2.json

{
  "apps": [{
    "name": "test_pm2",
    "script": "www/app.js",
    "cwd": "/var/www/test_pm2",
    "exec_mode": "cluster",
    "instances": 0,
    "max_memory_restart": "1G",
    "autorestart": true,
    "node_args": [],
    "args": [],
    "env": {

    }
  }]
}

2.然后我使用命令

pm2 reload all

和pm2停止所有进程,但无法重新启动我的项目,命令行始终在等待。 要访问我的项目throgh浏览器,Nginx 502错误显示。 所以我必须使用commond pm2 start pm2.json来开始。

我的环境: pm2 v2.4.0;节点v6.9.5; npm v3.10.10

我希望有人能够回答这种困惑,谢谢!

2 个答案:

答案 0 :(得分:0)

只是查看您的文件,这些可能成为问题。 (不确定)

"apps": [{
"name": "test_pm2",
"script": "www/app.js",
"cwd": "/var/www/test_pm2",
"exec_mode": "cluster",
"instances": 0,
"max_memory_restart": "1G",
"autorestart": true,
"node_args": [],
"args": [],
"env": {

}

脚本: - >你确定这是正确的道路吗?通常它会读取: "./app.js",

cwd:--->也许是var\html\www ??? 如果所有其他方法都失败,请尝试instances: 'max' 并摆脱max_memory_restart

还要确保通过pm2.json文件运行app.js(显而易见)。

要查看问题的来源,请一步一步地进行。 pm2.json文件中的某些命令可能存在问题。

希望这会有所帮助。

答案 1 :(得分:0)

回答我自己的问题!

pm2.log是:

    ===============================================================================
2017-03-31 13:23:12: --- PM2 global error caught ---------------------------------------------------
2017-03-31 13:23:12: Time                 : Fri Mar 31 2017 13:23:12 GMT+0800 (CST)
2017-03-31 13:23:12: Cannot read property 'forEach' of null
2017-03-31 13:23:12: TypeError: Cannot read property 'forEach' of null
    at ChildProcess.onClose (/usr/lib/node_modules/pm2/lib/TreeKill.js:104:26)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
2017-03-31 13:23:12: ===============================================================================
2017-03-31 13:23:12: [PM2][%s] Resurrecting PM2
2017-03-31 13:23:12: Stopping app:tadx_sys id:_old_1
/usr/lib/node_modules/pm2/lib/TreeKill.js:104
    allData.match(/\d+/g).forEach(function (pid) {
                         ^

TypeError: Cannot read property 'forEach' of null
    at ChildProcess.onClose (/usr/lib/node_modules/pm2/lib/TreeKill.js:104:26)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Socket.<anonymous> (internal/child_process.js:334:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:498:12)
module.js:471
    throw err;
    ^

Error: Cannot find module '/var/www/tadx.borui-ad.com/undefined'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

我在PM2官方GitHub页面Go to issue url

中找到了解决该问题的方法
  

升级至PM2大于v2.4.0