我一直使用 XAMPP 作为我的 LAMP 环境并直接在 Windows 7 上进行开发。但现在我想在 Linux 上进行所有的 Web 开发,因此我在 virtualbox 中安装了 Ubuntu,并单独安装了 PHP/MySQL 和 Apache。
我可以在虚拟机中的浏览器中访问所有内容,但现在我想访问http://本地主机在 Windows 中。我该如何做呢?我认为这应该很容易,因为两个操作系统都在同一个内部网络中?
答案1
就您的 Windows 机器而言,VirtualBox 中的 Ubuntu 网络服务器是一台完全独立的计算机。“localhost”不起作用。只要 Ubuntu Apache 绑定了 eth0,您就应该能够通过直接 IP 访问基于 Ubuntu 的站点。 http://172.16.12.34/
例如。
您可以通过几种方式找到 Ubuntu 安装的 IP。/sbin/ifconfig eth0
这是其中之一。在 URL 中使用该 IP 地址,而不是 localhost。
答案2
VirtualBox 提供了几种网络模式,用于将客户机连接到主机。默认为 NAT,默认情况下不会将客户机暴露给主机。转到虚拟机的设置窗口并单击网络选项卡,查看您正在使用的模式。您将看到属性后面Attached:
跟着一个下拉框。
如果您使用的是 NAT 模式,我们可以使用端口转发在客户机上公开端口 80。打开Advanced
网络设置窗口上的部分,然后单击按钮Port Forwarding
。在出现的对话框中,我们要添加一个条目。我们将其命名为Web
,协议将是TCP
主机端口可以是您想要在 Windows 机器上连接的任何端口。让我们将它设为80
。客户机端口需要是80
,因为这是您的 Web 服务器在您的 Linux 客户机 VM 上侦听的端口。主机 IP 和客户机 IP 可以留空。单击OK
以显示对话框和设置窗口。启动您的 VM,您应该能够连接到http://本地主机从您的 Windows 机器。
有关 VirtualBox 如何处理网络的更多信息,请查看以下文档:http://www.virtualbox.org/manual/ch06.html