Node.js 上的多个服务器

McK*_*zie 5 host ports node.js

我需要在同一个 nodejs 实例上模拟四台服务器(具有不同的主机和端口)。

一个例子可能是:

域 1:8000 - 域 2:8010 - 域 3:8020 - 域 4:8030 -

有人可以帮我吗?谢谢

小智 10

我添加了一个示例,其中包含使用 node.js 的 2 个服务器的可能解决方案。

首先,您需要创建一个项目:

mkdir simulate4servers
cd simulate4servers
npm init (entry point: index.js)
Run Code Online (Sandbox Code Playgroud)

安装快递:

npm install express --save
Run Code Online (Sandbox Code Playgroud)

将下一个文件放入目录:

文件 app.js:

'use strict';
const express = require('express');
const app = express();
const routes = require('routes.js');

app.use('/',routes);

module.exports = app;
Run Code Online (Sandbox Code Playgroud)

文件 app2.js:

'use strict';

const express = require('express');
const app2 = express();
const routes = require('routes2.js');

app2.use('/',routes);

module.exports = app2;
Run Code Online (Sandbox Code Playgroud)

文件 configDomain1.js:

module.exports = {
    port: 8000
}
Run Code Online (Sandbox Code Playgroud)

文件 configDomain2.js:

module.exports = {
    port: 8010
}
Run Code Online (Sandbox Code Playgroud)

文件routes.js:

'use strict';

const express = require('express');
const api = express.Router();

api.get('/', (req,res)=>{
  res.send({message: 'Hello World!'});
});
module.exports = api;
Run Code Online (Sandbox Code Playgroud)

文件routes2.js:

'use strict';

const express = require('express');
const api = express.Router();

api.get('/', (req,res)=>{
  res.send({message: 'Hello World 2!'});
});
module.exports = api;
Run Code Online (Sandbox Code Playgroud)

文件 index.js:

'use strict';

const app = require('./app')
const app2 = require('./app2')
const config = require('./configDomain1');
const config2 = require('./configDomain2');

app.listen(config.port, () => {
    console.log(`API REST running in http://localhost:${config.port}`);
});

app2.listen(config2.port, () => {
    console.log(`API REST running in http://localhost:${config2.port}`);
});
Run Code Online (Sandbox Code Playgroud)

最后,运行它:

node index.js
Run Code Online (Sandbox Code Playgroud)


Ani*_*iya 9

const express = require("express");

const server1 = express();
const server2 = express();
const server3 = express();

server1.listen(8000, () => {
    console.log("Server 1 is up and running on port 8000");
})

server2.listen(8010, () => {
    console.log("Server 2 is up and running on port 8010");
})

server3.listen(8020, () => {
    console.log("Server 3 is up and running on port 8020");
})
Run Code Online (Sandbox Code Playgroud)

express()创建并返回服务器的实例。多次调用它以创建多个实例。监听不同的端口。就这样。