我正在托管多个域,每个域使用Express vhost运行相同的节点应用程序。我使用http.createServer
启动它们var app = express();
require('./app.js')(function(theApp) {
app.use(express.vhost(domainName1, theApp));
app.use(express.vhost(domainName2, theApp));
app.use(express.vhost(domainName3, theApp));
var d = domain.create();
d.run(function(){
http.createServer(app).listen(80);
});
});
是否可以执行相同的操作,但能够在不必重新启动节点应用程序的情况下即时向服务器添加新域? IE伪代码:
我想确保在添加新域时,现有域的用户尽可能少地停机(甚至没有)。
答案 0 :(得分:1)
默认的Express行为是基于Host
标头不区分。 vhost
中间件添加了此行为。每当您发现想要支持的新域时,您可能会添加更多中间件......或者您可以首先在Host
标题上区分:
var app = express();
require('./app.js')(function(theApp) {
app.use(theApp);
var d = domain.create();
d.run(function(){
http.createServer(app).listen(80);
});
});