nodejs怎样实现虚拟主机,在同一台服务器上跑多个独立的网站?
发布于 8 年前 作者 j4cnodejs 20121 次浏览 最后一次编辑是 4 年前

就像基于apache/iis等实现的虚拟主机一样,一台服务器上同时运行用nodejs做的多个独立网站,而不是用不同的端口号和子域名的方式。请问能实现吗?

12 回复

我想这个问题的关键是,各个基于nodejs的独立网站,都可能指定自己的端口号,而这些端口号可能重复。但是作为虚拟主机提供者,服务器不能要求用户网站使用特定的端口吧。 我的目的很简单,我有一台服务器,想架个nodejs的环境,host多个独立域名的网站

且要求在访问各网站时不能带上端口号

用nginx或apache作爲反向代理,根據不同的域名映射到本地不同的端口。

我找到node http-proxy了,可以实现反向代理

我觉得最好还是用nginx哈~反正生产环境也要用nginx的

使用 connect host 即可

http://www.senchalabs.org/connect/vhost.html

connect()
  .use(connect.vhost('foo.com', fooApp))
  .use(connect.vhost('bar.com', barApp))
  .use(connect.vhost('*.com', mainApp))

fooApp 可以是 express 的 app

当然也可以是webjs的app…

谢谢各位回复!我觉得还是反向代理的机制比较好吧?因为这样可以用 node path/to/app.js 的方式单独启动每一个应用,然后用另一个专职的主控实现反向代理。不知道connect.vhost 能不能这样做?

nginx稳定可靠,你值得信赖…

有用,不错。nginx

目前还是推荐使用nginx 原因很简单 高性能 稳定好 便于扩展

分享几个好用的国外主机

回到顶部