如何在一台机器上生成node.js的多个实例来侦听不同的子域?

时间:2013-05-04 17:15:00

标签: node.js

对于像

这样的子域名
a.abc.com    
b.abc.com    
c.abc.com

我想为它们运行相同的node.js脚本副本。不幸的是,我只有一台机器。有人可以建议我如何克服这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您有三个“处理程序”,即具有(req, res)签名的任何函数,您只需在一台服务器上执行以下操作:

http.createServer(function (req, res) {
  switch (url.parse(req.url).hostname) {
    case 'a.abc.com':
      handlerA(req, res)
      break
    case 'b.abc.com':
      handlerB(req, res)
      break
    case 'c.abc.com':
      handlerC(req, res)
      break
    default:
      res.statusCode = 404
      res.end()
      break
  }
})

你不需要需要反向代理,除非你需要每个处理程序在自己的进程上,即如果你有很多负载