我需要在同一nodejs实例上模拟四个服务器(具有不同的主机和端口)。
一个例子可能是:
domain1:8000- 域2:8010- 域3:8020- domain4:8030-
有人可以帮助我吗? 谢谢
答案 0 :(得分:2)
我添加了一个示例,介绍了使用节点的2台服务器的可能解决方案。
首先,您需要创建一个项目:
mkdir simulate4servers
cd simulate4servers
npm init (entry point: index.js)
安装Express:
npm install express --save
将下一个文件放入目录:
文件app.js:
'use strict';
const express = require('express');
const app = express();
const routes = require('routes.js');
app.use('/',routes);
module.exports = app;
文件app2.js:
'use strict';
const express = require('express');
const app2 = express();
const routes = require('routes2.js');
app2.use('/',routes);
module.exports = app2;
文件configDomain1.js:
module.exports = {
port: 8000
}
文件configDomain2.js:
module.exports = {
port: 8010
}
route.js文件:
'use strict';
const express = require('express');
const api = express.Router();
api.get('/', (req,res)=>{
res.send({message: 'Hello World!'});
});
module.exports = api;
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;
文件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}`);
});
最后运行它:
node index.js
答案 1 :(得分:0)
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");
})
express()
创建并返回服务器实例。多次调用以创建多个实例。在不同的端口上监听。就是这样。