答案 0 :(得分:24)
虽然对于OP来说可能为时已晚,但是在这里张贴给其他人。
如果您只是想尝试访问Mac localhost
,那么您需要输入所有内容
客人操作系统是10.0.2.2
。
如果您尝试访问名为的虚拟主机,例如0.dev
或dev.local
,则需要修改来宾操作系统主机用于将域名映射到主机操作系统的文件。
对于Windows 7,您只需导航到C:\Windows\System32\drivers\etc
,然后使用admin privs修改hosts
文件。
在你内部,你会看到以下一行被注释掉
# 127.0.0.1 localhost
在其下方,为您要使用的每个虚拟主机添加条目
10.0.2.2 maclocalhost
10.0.2.2 0.dev
10.0.2.2 dev.local
答案 1 :(得分:3)
我今天刚刚设置了三个VirtualBox VM,专门用于连接OS X主机上的MAMP。以为我会分享我这样做的方法,因为它适合我。
通过10.0.2.2
访问本地主机时,我发现使用host only
网络可以更加灵活。处理方案的可靠方法。您将获得另一个IP地址,因此在VM上调试网络问题也可以正常工作。
首先,转到VirtualBox
- > Preferences…
。然后选择Host-only Networks
。你应该有一个vboxnet0
适配器。如果没有,请添加一个。
设置完成后,选择vboxnet0
适配器&单击该窗口右侧的小黄色螺丝刀图标以编辑选项。在Adapter
窗格下,将IPv4地址设置为192.168.56.1
&网络掩码为255.255.255.0
。将IPv6区域留空。 IPv6网络掩码长度应为0
。
DHCP服务器的内容应该是空白的,就像这样。
好?得到了那个。现在选择你的VM。在我的示例中,它是用于Web开发测试的IE8 - Win7
图像。然后点击Settings
档。然后单击Network
图标。现在选择Adapter 2
。然后从Host-only Adapter
的下拉菜单中选择Attached to:
。然后在vboxnet0
下选择Name:
。其余选项应该只是标准选项。
现在,当您启动Windows VM时,请启动Internet Explorer。然后去地址:
http://192.168.56.1
有了它,你应该被设定!但是,如果您习惯使用Mac,请100%确定地址前面有http://
。当我刚刚进入直线192.168.56.1
时,我感到非常尴尬。
正如Jon Jaques在他的回答中所说,您可以编辑Windows中的hosts
文件以指向192.168.56.1
的IP地址。它会让你的生活更轻松如果您知道如何在MAMP中设置命名虚拟主机(不是很难),您可以设置一些不同的站点来通过VirtualBox进行测试。
哦,此外,如果您习惯在OS X中使用您的机器名称连接到名为LogicArtist.local
的MAMP,如果这是您的机器名称 - 那么您没有运气。内置在软件路由器中的VirtualBox声称可以传递多播数据,但事实并非如此。 Check out this post更详细地解释了它。
在VirtualBox创建的环境中,有多个NIC 声称具有多播功能。然而,他们在说谎。此外, 由于VirtualBox分配指标的方式,您的传出套接字 将被分配给一个骗子,他会愉快地吞噬你的多播 消息,而不是发送它们。
很烦人,但你可以通过至少编辑你的hosts
文件来解决这类问题,让LogicArtist.local
条目像这样:
192.168.56.1 LogicArtist.local
绝对不如传递真正的多播地址那么优雅,但至少在Windows中用于调试内容的短暂时间将变得更容易,但添加该条目。
答案 2 :(得分:2)
MAMP Pro允许您为每个主机指定端口。为您想要的主机选择一个唯一的端口。在您的虚拟机中,只需输入http://10.0.2.2:PORTNUMBER
即可显示您的网站。示例:我创建了一个名为localuproar的主机并为其分配了端口号9000.在VirtualBox中,我打开了Internet Explorer并键入了http://10.0.2.2:9000
,我的网站出现了。
您可以像以前的帖子中所描述的那样搞乱主机文件,但我认为只需输入一个端口号就更容易了。
在相关的说明中,有一种非常简单的方法可以为所有版本的Internet Explorer(http://osxdaily.com/2011/09/04/internet-explorer-for-mac-ie7-ie8-ie-9-free/)创建虚拟机:
在终端窗口中输入
curl -s https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh | bash的