Javascript 如何正确停止节点API群集服务器? 我只是学习在我的膝关节炎+类型脚本API中使用集群。我找到了一篇博客文章,并从中获取了参考资料 // server.ts import {app} from './app' // Koa export function server() { const http = app.listen(8000, async () => { console.info(`Listening at 8000`) }) return http }
问题是,当我停止使用Javascript 如何正确停止节点API群集服务器? 我只是学习在我的膝关节炎+类型脚本API中使用集群。我找到了一篇博客文章,并从中获取了参考资料 // server.ts import {app} from './app' // Koa export function server() { const http = app.listen(8000, async () => { console.info(`Listening at 8000`) }) return http },javascript,node.js,typescript,Javascript,Node.js,Typescript,问题是,当我停止使用Ctrl+c时,我得到了这个结果: Error: listen EADDRINUSE: address already in use :::8000 at Server.setupListenHandle [as _listen2] (net.js:1313:16) at listenInCluster (net.js:1361:12) at Server.listen (net.js:1447:7) at Application.listen
Ctrl+c
时,我得到了这个结果:
Error: listen EADDRINUSE: address already in use :::8000
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at Server.listen (net.js:1447:7)
at Application.listen (/home/usr/workspace/koa-ts/app/node_modules/koa/lib/application.js:82:19)
at Object.server (/home/usr/workspace/koa-ts/app/src/core/server.ts:7:20)
at /home/usr/workspace/koa-ts/app/src/main.ts:71:5
at Generator.next (<anonymous>)
at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)
{"level":50,"time":1597173528053,"pid":284878,"hostname":"usr-PC","msg":"Uncaught exception: listen EADDRINUSE: address already in use :::8000"}
Error: listen EADDRINUSE: address already in use :::8000
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at Server.listen (net.js:1447:7)
at Application.listen (/home/usr/workspace/koa-ts/app/node_modules/koa/lib/application.js:82:19)
at Object.server (/home/usr/workspace/koa-ts/app/src/core/server.ts:7:20)
at /home/usr/workspace/koa-ts/app/src/main.ts:71:5
at Generator.next (<anonymous>)
at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)
{"level":50,"time":1597173528053,"pid":284878,"hostname":"usr-PC","msg":"Uncaught exception: listen EADDRINUSE: address already in use :::8000"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
llsi/app/src/main.ts:24:58)"}
{"level":50,"time":1597173997176,"pid":287724,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
然后我在Ctrl+c
时得到了这个:
Error: listen EADDRINUSE: address already in use :::8000
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at Server.listen (net.js:1447:7)
at Application.listen (/home/usr/workspace/koa-ts/app/node_modules/koa/lib/application.js:82:19)
at Object.server (/home/usr/workspace/koa-ts/app/src/core/server.ts:7:20)
at /home/usr/workspace/koa-ts/app/src/main.ts:71:5
at Generator.next (<anonymous>)
at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)
{"level":50,"time":1597173528053,"pid":284878,"hostname":"usr-PC","msg":"Uncaught exception: listen EADDRINUSE: address already in use :::8000"}
Error: listen EADDRINUSE: address already in use :::8000
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at Server.listen (net.js:1447:7)
at Application.listen (/home/usr/workspace/koa-ts/app/node_modules/koa/lib/application.js:82:19)
at Object.server (/home/usr/workspace/koa-ts/app/src/core/server.ts:7:20)
at /home/usr/workspace/koa-ts/app/src/main.ts:71:5
at Generator.next (<anonymous>)
at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)
{"level":50,"time":1597173528053,"pid":284878,"hostname":"usr-PC","msg":"Uncaught exception: listen EADDRINUSE: address already in use :::8000"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
llsi/app/src/main.ts:24:58)"}
{"level":50,"time":1597173997176,"pid":287724,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
错误:侦听EADDRINUSE:地址已在使用中:::8000
在Server.setupListenHandle[as _listen2](net.js:1313:16)
在ListeniCluster(net.js:1361:12)
在Server.listen(net.js:1447:7)
在Application.listen(/home/usr/workspace/koats/app/node_modules/koa/lib/Application.js:82:19)
在Object.server(/home/usr/workspace/koats/app/src/core/server.ts:7:20)
at/home/usr/workspace/koats/app/src/main.ts:71:5
在Generator.next(
看看这里的建议。我也在寻找一种对任何形式的进程终止进行清理的方法……基本上,你应该只在清理为真的情况下进行终止。我还建议你找一个进程管理器。例如,看看PM2,它允许你在集群中轻松启动应用程序并管理不同的工作er为您处理!它真的很致命。非常感谢!还有一个问题,我能用它完全取代我的船载优雅关机功能吗?对于PM2,我以前用过它。但现在我和Docker在一起,我看到人们不建议在Docker内运行PM2。您会在Docker内使用PM2吗?很抱歉,很难说……永远不要运行这是pm2和docker的问题。但也许还有其他选择?至于你是否可以替换它的问题……在清理过程中,你应该能够调用任何你需要的东西来很好地清理。很难说到底可以移除什么。实验?非常感谢。我会尝试。:)没问题!对不起,我帮不了你了
Error: listen EADDRINUSE: address already in use :::8000
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at Server.listen (net.js:1447:7)
at Application.listen (/home/usr/workspace/koa-ts/app/node_modules/koa/lib/application.js:82:19)
at Object.server (/home/usr/workspace/koa-ts/app/src/core/server.ts:7:20)
at /home/usr/workspace/koa-ts/app/src/main.ts:71:5
at Generator.next (<anonymous>)
at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)
{"level":50,"time":1597173528053,"pid":284878,"hostname":"usr-PC","msg":"Uncaught exception: listen EADDRINUSE: address already in use :::8000"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
{"level":50,"time":1597173554364,"pid":285843,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}
llsi/app/src/main.ts:24:58)"}
{"level":50,"time":1597173997176,"pid":287724,"hostname":"usr-PC","msg":"Error during disconnection: TypeError: Cannot read property 'disconnect' of undefined\n at /home/usr/workspace/koa-ts/app/src/main.ts:76:27\n at Generator.next (<anonymous>)\n at fulfilled (/home/usr/workspace/koa-ts/app/src/main.ts:24:58)"}