enhance: Perform port diagnosis at startup only when Listen fails (#8698)
* Change port check * Comment: disableClustering * CHANGELOG * Smart message
This commit is contained in:
parent
e3f2d469c0
commit
b6794b614b
7 changed files with 29 additions and 96 deletions
|
@ -2,6 +2,7 @@
|
|||
* Core Server
|
||||
*/
|
||||
|
||||
import cluster from 'node:cluster';
|
||||
import * as fs from 'node:fs';
|
||||
import * as http from 'node:http';
|
||||
import Koa from 'koa';
|
||||
|
@ -142,5 +143,26 @@ export default () => new Promise(resolve => {
|
|||
|
||||
initializeStreamingServer(server);
|
||||
|
||||
server.on('error', e => {
|
||||
switch ((e as any).code) {
|
||||
case 'EACCES':
|
||||
serverLogger.error(`You do not have permission to listen on port ${config.port}.`);
|
||||
break;
|
||||
case 'EADDRINUSE':
|
||||
serverLogger.error(`Port ${config.port} is already in use by another process.`);
|
||||
break;
|
||||
default:
|
||||
serverLogger.error(e);
|
||||
break;
|
||||
}
|
||||
|
||||
if (cluster.isWorker) {
|
||||
process.send!('listenFailed');
|
||||
} else {
|
||||
// disableClustering
|
||||
process.exit(1);
|
||||
}
|
||||
});
|
||||
|
||||
server.listen(config.port, resolve);
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue