[PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2问题排查

 Nodejs, pm2  [PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2问题排查已关闭评论
11月 192019
 

新aws机器部署了老nodejs项目,使用pm2 start config.js启动,提示:

[PM2] Spawning PM2 daemon with pm2_home=/home/ec2-user/.pm2

 

没有错误提示,pm2 log  / pm2 status都看不到信息, nodejs项目也没启动。

 

其实可以通过查看~/.pm2/pm2.log 文件获取真正错误信息:

SyntaxError: Unexpected identifier
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:549:28)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/nodejs/lib/node_modules/pm2/lib/Watcher.js:6:16)
/home/ec2-user/.pm2/pm2.log (END)
/usr/local/lib/nodejs/lib/node_modules/pm2/node_modules/chokidar/index.js:151
async remove(item) {
^^^^^^

 

以为是chokidar的版本太新了,切换到[email protected],再运行pm2 start config.js还是上面的错误。 由于nodejs使用的是比较老的6.15.1的版本,想到会不会是pm2的版本太新了,因此,将pm2由4.1.2降为3.2.3

npm insall -g [email protected]

 

安装完后果然OK了, 记录下希望对其他也碰到此类问题的有一些帮助。

pm2修改配置文件后,restart未重新加载问题解决

 pm2  pm2修改配置文件后,restart未重新加载问题解决已关闭评论
11月 092019
 

修改了pm2的配置文件,发现使用下面命令都无效,配置就是没更新:

无效命令(Invalid):
pm2 reload config.json
网上也有说用下面的命令,我这边也无效
pm2 startOrReload config.js –update-env

后来只能使用删除项目后再启动方式OK:
以下有效(valid):
pm2 delete all
pm2 restart config.json

pm2 status error 解决

 Nodejs, pm2  pm2 status error 解决已关闭评论
2月 202019
 

今天使用pm2  启动nodejs应用, 发现启动一会儿,pm2 中status状态就从online变成error, 日志也看没有什么记录, 后来发现可以通过下面的步骤解决:  pm2 update

如果彻底些,可以先kill 掉pm2的进程, 再执行pm2 update命令。

查看帮助

$ pm2 update -h

  Usage: update [options]

  (alias) update in-memory PM2 with local PM2

  Options:

    -h, –help  output usage information

通过上面命令查看,估计问题出在本机PM2的内存数据里