Nodejs [pm2] 网站搬家后程序无法启动,watching 栏目显示 unactivated
Nodejs [pm2] 网站搬家后程序无法启动,watching 栏目显示 unactivated
前几天把服务器搬到了 DO,系统依然是 Debian,然后重装了 node, npm, pm2 这些,都正常。但是原来的一个 node 程序现在运行不起来了,而且看不到日志,一头雾水。
pm2 start parser.js
之后,会新增一个进程,但是 watching
那一栏显示的是 unactivated
,然后程序实际上也没有运行起来。
各项参数: 系统:Debian 3.2.54-2 x86_64 GNU/Linux Node:v0.10.28 pm2:0.8.3
请问哪位前辈遇到过这种问题?怎么解决呢?
│ App name │ id │ mode │ PID │ status │ port │ restarted │ uptime │ memory │ watching │ │ parser │ 0 │ cluster │ 26515 │ online │ │ 1 │ 1s │ 15.793 MB │ unactivated│
直接用node parser.js能跑起来?
也不能。 如果是程序出错,哪里能看到日志?
你是不是忘了npm install了。。
watching 列是表示是否监控程序文件夹变动,如果有变动 自动重启,需要使用–watch参数启动才会是active。跟程序没启动成功没什么关系。 pm2 logs [id|name] 可以查看启动过程中的日志
直接node跑应该跑不起来会报错。
根据你的描述,你在搬家到新的服务器后遇到了 pm2
监控未激活的问题。这通常与权限、文件路径或环境变量有关。以下是一些可能的解决方案:
-
检查文件路径和权限:确保
parser.js
文件存在并且具有正确的读取权限。你可以使用以下命令来检查和修改权限:ls -l /path/to/parser.js chmod +r /path/to/parser.js
-
更新 PM2 版本:你当前使用的 PM2 版本(0.8.3)非常老旧,建议升级到最新版本。新版本修复了许多已知问题,并提供了更好的功能支持。
npm install -g pm2
-
清除缓存并重新启动:有时候缓存可能导致一些问题,可以尝试清除 PM2 的缓存并重启服务:
pm2 delete all pm2 kill rm -rf ~/.pm2 pm2 update pm2 start parser.js
-
配置文件路径:如果你使用了一个配置文件(如
ecosystem.config.js
),确保路径正确且文件内容没有错误。// ecosystem.config.js 示例 module.exports = { apps: [ { name: 'parser', script: './parser.js', }, ], };
然后使用配置文件启动:
pm2 start ecosystem.config.js
-
查看日志:使用以下命令查看日志,以了解程序启动失败的具体原因:
pm2 logs
如果以上方法仍不能解决问题,建议详细查看日志输出,寻找具体的错误信息,并根据错误提示进行进一步排查。