就像基于apache/iis等实现的虚拟主机一样,一台服务器上同时运行用nodejs做的多个独立网站,而不是用不同的端口号和子域名的方式。请问能实现吗?
我想这个问题的关键是,各个基于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 原因很简单 高性能 稳定好 便于扩展
分享几个好用的国外主机