Linux Ubuntu 14.04在1台机器1 ip上的2个不同web服务器上运行2个网站

Linux Ubuntu 14.04在1台机器1 ip上的2个不同web服务器上运行2个网站,linux,node.js,apache,ip,hosting,Linux,Node.js,Apache,Ip,Hosting,我很好奇。假设我想在一台机器上设置两个指向两个web服务器的域名。我希望一个域指向apache web服务器,另一个域指向节点web服务器。作为一名服务器新手,我的直觉是,我不能使用虚拟主机,因为只有一个站点使用apache,我可能应该在单独的VM上运行每个站点,但我不想这样做,所以我认为,如果它都在一台机器上,我应该在不同的端口上运行每个站点,然后在每个域中指定。这是最好的办法吗?对不起,我对这个太陌生了 谢谢大家 局限性 HTTP在端口80上使用TCP/IP协议。如果您从其他端口提供内容,U

我很好奇。假设我想在一台机器上设置两个指向两个web服务器的域名。我希望一个域指向apache web服务器,另一个域指向节点web服务器。作为一名服务器新手,我的直觉是,我不能使用虚拟主机,因为只有一个站点使用apache,我可能应该在单独的VM上运行每个站点,但我不想这样做,所以我认为,如果它都在一台机器上,我应该在不同的端口上运行每个站点,然后在每个域中指定。这是最好的办法吗?对不起,我对这个太陌生了

谢谢大家

局限性 HTTP在端口80上使用TCP/IP协议。如果您从其他端口提供内容,URL将类似于:其中123是端口

IP:协议:端口组合只能打开一个套接字。由于我们只有一个IP,协议和端口不灵活-因此只有一个应用程序可以为数据服务。拥有两个域并不能解除这一限制

解决方案 您需要一个所谓的HTTP代理,它将是主要的入口点。并让该代理决定由哪个应用程序处理该请求

由于您按域进行区分,因此可以将代理配置为根据请求的域进行响应

有大量的应用服务于此,主要参与者是和

既然您已经有了Apache,您可以继续使用它,您需要研究的主题包括:

设置按域进行区分 配置以将虚拟主机链接到您的节点网站。
节点也可以用作代理,但为生产配置一个代理很困难。

但其他web服务器是节点服务器。。没有阿帕乔,对不起。。。我认为oyu可以选择部署到任何一个。所以这相当简单。。。显然,它们需要在不同的端口上。然后可以使用nginx作为反向代理