如何运行虚拟服务器?

如何运行虚拟服务器?

我目前正在运行一个托管网站的物理 Ubuntu 14.04 服务器。我想添加第二个网站,但我不想尝试从一个物理机箱运行两个网站。我还想将我的数据分开一点,例如主网站和子域中的 WordPress 博客。

从我能够研究和弄清楚的情况来看,似乎让主机运行多个虚拟服务器是我想要的,但我不知道如何实现。我如何从一台物理服务器运行多台服务器?我如何让它们可以访问互联网?

编辑:我正在使用 Oracle VirtualBox 从 Ubuntu 桌面运行虚拟 Ubuntu 14.04 服务器。我如何将我的域名指向此虚拟服务器并访问网站?

答案1

我认为这里有几个概念 - 首先,通常每个 IP 地址的一个端口上只能有一个应用程序。有些软件也可以处理将内容传递到其他服务器。

那么让我们从头开始

最简单的地形图如下

Internet+-----------> consumer router +----------> Host+--------------> VM

您需要一个可路由的 IP 地址(不是 NAT)用于您的互联网连接,通常您可以在路由器上检查这一点。将您的 ipv4 A 记录指向此处。

关于如何设置主机和虚拟机,您有两种选择 - NAT(这意味着您需要将端口从主机转发到虚拟机)或“桥接”,其中虚拟机充当单独的物理机。我更喜欢桥接。

如果您为虚拟机使用 NAT,则需要进行两次端口转发 - 从路由器到主机,再从主机到虚拟机。

如果您想将其作为桥接网络执行,您只需将您想要使用的端口转发到您的虚拟机。

通常,网络服务器使用端口 80,但有时该端口会被阻止。

现在对于 2 个 Web 服务器来说,情况就变得复杂了。拥有两个独立 Web 服务器的最佳方式(可能也是唯一的方式)是拥有一个第三服务器,作为代理运行

ngnix 是此问题的流行选择 - 这是 serverfault 问题涵盖流程,但基本上您的第三台服务器会根据域名将流量传递到正确的服务器。这使用虚拟主机,并且 ngnix 可以非常高效地充当反向代理。

您还可以设置两个具有不同根目录的虚拟主机(和一个 Web 服务器)。您不必共享数据库(数据库可以位于各自的 VM 上)。这将是明智的做法。

相关内容