简体   繁体   English

在 windows 中以集群模式启动 pm2 时出错

[英]error starting pm2 in cluster mode in windows

I am getting an error while starting pm2 in cluster mode.在集群模式下启动 pm2 时出现错误。 I ran this command -我运行了这个命令 -

pm2 start <filename> -i 4

Only one instance gets created.仅创建一个实例。 I am using Windows 7, Node 0.12.0 and pm2 0.14.0我正在使用 Windows 7,节点 0.12.0 和 pm2 0.14.0

This is my error log这是我的错误日志

2015-06-18 10:52:04: [PM2][WORKER] Started with refreshing interval: 30000 2015-06-18 10:52:04: [[[[ PM2/God daemon launched ]]]] 2015-06-18 10:52:04: BUS system [READY] on port \.\pipe\pub.sock 2015-06-18 10:52:04: RPC interface [READY] on port \.\pipe\rpc.sock 2015-06-18 10:52:04: Starting execution sequence in -cluster mode- for app name:server id:0 2015-06-18 10:52:04: App name:server id:0 online 2015-06-18 10:52:04: Starting execution sequence in -cluster mode- for app name:server id:1 2015-06-18 10:52:04: Trace: { [Error: spawn EBADF] code: 'EBADF', errno: 'EBADF', syscall: 'spawn' } at Object.God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Methods.js:30:15) at Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) at Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) at ex (C:\Use 2015-06-18 10:52:04:[PM2][WORKER] 开始刷新间隔:30000 2015-06-18 10:52:04:[[[[PM2/上帝守护进程启动]]]] 2015-06 -18 10:52:04:端口 \.\pipe\pub.sock 上的 BUS 系统 [READY] 2015-06-18 10:52:04:端口 \.\pipe\rpc.sock 2015 上的 RPC 接口 [READY] -06-18 10:52:04:在 -cluster 模式下启动执行序列 - 应用程序名称:服务器 ID:0 2015-06-18 10:52:04:应用程序名称:服务器 ID:0 在线 2015-06-18 10:52:04:在集群模式下启动执行序列,应用程序名称:服务器 ID:1 2015-06-18 10:52:04:跟踪:{ [错误:生成 EBADF] 代码:'EBADF',错误号: 'EBADF',系统调用:'spawn'} 在 Object.God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Methods.js:30:15) 在 Z497031794514A5524B (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) 在 Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\ pm2\lib\God.js:145:9) 在 ex (C:\Use rs\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) at C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:365:16 at Worker.cluOnline (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:188:17) at Worker.g (events.js:199:16) at Worker.emit (events.js:104:17) at online (cluster.js:449:12) at Worker.onmessage (cluster.js:436:7) 2015-06-18 10:52:04: Starting execution sequence in -cluster mode- for app name:server id:2 2015-06-18 10:52:05: Trace: { [Error: spawn EBADF] code: 'EBADF', errno: 'EBADF', syscall: 'spawn' } at Object.God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Methods.js:30:15) at Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) at Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) at ex (C:\Users\pbai rs\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) 在 C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:365: 16 在 Worker.cluOnline (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:188:17) 在 Worker.g (events.js:199:16) 在 Worker.emit (events.js:104:17) 在线 (cluster.js:449:12) at Worker.onmessage (cluster.js:436:7) 2015-06-18 10:52:04: 在 -cluster 中启动执行序列模式- 应用程序名称:服务器 ID:2 2015-06-18 10:52:05:跟踪:{ [错误:产生 EBADF] 代码:'EBADF',错误:'EBADF',系统调用:'spawn'} 在 Object .God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Methods.js:30:15) 在 Object.nodeApp (C:\Users\pbaid\AppData\Roaming\ npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) 在 Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9)在 ex (C:\Users\pbai d\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) at C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25 at nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:146:29) at Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:53:14) at Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) at ex (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) at C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:365:16 2015-06-18 10:52:05: Starting execution sequence in -cluster mode- for app name:server id:3 2015-06-18 10:52:05: Trace: { [Error: spawn EBADF] code: 'EBADF', errno: 'EBADF', syscall: 'spawn' } at Object.God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Meth d\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) 在 C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25 在nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:146:29) 在 Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2 \lib\God\ClusterMode.js:53:14) 在 Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) 在 ex (C: \Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) 在 C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:365 :16 2015-06-18 10:52:05:在集群模式下启动执行序列,用于应用程序名称:服务器 ID:3 2015-06-18 10:52:05:跟踪:{ [错误:生成 EBADF] 代码: 'EBADF', errno: 'EBADF', 系统调用: 'spawn' } 在 Object.God.logAndGenerateError (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\Meth ods.js:30:15) at Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) at Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) at ex (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) at C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25 at nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:146:29) at Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:53:14) at Object.executeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) at ex (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:361:18) at C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25 ods.js:30:15) 在 Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:52:11) 在 Z497031794414A552435F90151AC:\App 执行用户\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) 在前 (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js: 361:18) 在 C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25 在 nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2 \lib\God.js:146:29) 在 Object.nodeApp (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God\ClusterMode.js:53:14) 在 Z497031794414A552435F9015BZAC. C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:145:9) 在前 (C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God .js:361:18) 在 C:\Users\pbaid\AppData\Roaming\npm\node_modules\pm2\lib\God.js:362:25

I met this problem today too.我今天也遇到了这个问题。

If I run "pm2 logs" before any other pm2 operation, and then start applications in cluster mode ("pm2 start app.js -i 4"), everything looks fine.如果我在任何其他 pm2 操作之前运行“pm2 logs”,然后以集群模式启动应用程序(“pm2 start app.js -i 4”),一切看起来都很好。 It seems pm2 need some time for initialization.似乎 pm2 需要一些时间进行初始化。 I have no idea about the real reason.我不知道真正的原因。

Looking forward for better solution too.也期待更好的解决方案。

I solved this issue on windows by going to the services and stop the pm2 service from running and at my terminal, I did the pm2 start app.js and everything ran fine我在 windows 上解决了这个问题,方法是转到服务并停止运行 pm2 服务,在我的终端上,我做了 pm2 start app.js,一切运行良好

解决方法很简单:重启电脑或服务器。

在 Windows 上,不要使用集群:

pm2 start "filename.js"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM