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
我希望有人能够回答这种困惑,谢谢!
答案 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