如何在 Parallels / VMWare Fusion 虚拟的 Windows 机器中访问本地网站?

6
  1. 在你的Mac上开发一个Rails应用。
  2. 使用Parallels在虚拟的Windows框中(在同一台电脑上)。
  3. 想要在IE中测试它...
  4. ...而不必部署到staging
  5. ...或尝试在Windows中运行你的Rails环境

有没有什么方便的方法可以从Windows中访问你的Mac上的3000端口?


虚拟机在本地网络上没有IP地址吗? - cHao
1
@cHao 我有暗示不是这样吗?那怎么解决我的问题呢? - Alan H.
http://your.ip.addr.ess:3000?Hosts文件?如果虚拟机在本地网络上,它可以像两台独立的计算机一样与主机通信。你只需要让虚拟机能够解析主机的名称,然后只有当服务器使用基于名称的虚拟主机才需要这样做,对于Rails服务器来说这有点可疑。 - cHao
3个回答

15

对于没有子域的Rails应用程序来说,这应该是非常简单明了的。但涉及到子域时就会变得更加复杂。

没有子域的应用程序

  1. 在Mac终端中输入以下命令:

    ifconfig -a

  2. 复制分配的IP地址(例如:192.168.1.100)

  3. 切换到Parallels,打开IE并在地址栏中输入IP地址,不要忘记添加运行中Rails应用程序的协议和端口号,例如:

    http://192.168.1.100:3000

  4. 终于可以看到Rails应用程序了。

有子域的应用程序

你可能已经使用类似于lvh.me的工具来方便本地创建子域应用程序(请参见ASCIICasts 221: Subdomains in Rails 3)。然而在Windows上可能不那么容易。

  1. 编辑Windows的hosts文件,它应该位于类似于C:\WINDOWS\system32\drivers\etc\hosts的位置。

  2. 假设你的IP地址与上述相同,添加一行类似于以下内容的行,并保存:

    192.168.1.100 lvh.me sub1.lvh.me sub2.lvh.me ... subN.lvh.me

    其中sub1、sub2、...、subN是要从IE访问的子域。

现在可以从IE访问http://sub1.lvh.me:3000

最后一点说明

我已经厌倦每次查找DHCP分配的IP地址,所以我在OS X中创建了一个名为“Home”的新网络位置,该位置使用手动分配的IP地址的DHCP。这样,当我在家工作时,至少可以节省一些时间。只需记得在加入不同的网络时切换位置。YMMV :)


使用Rails 4应用程序,在Mac OSX 10.9.1上,应用程序被触及但第一个加载的资源仍然冻结... 应用程序永远不会停止尝试加载(在资源站点上)。相当卡住了。 - Ben
请务必使用完整的 URL,包括协议(http://)和端口(3000),否则它将无法正常工作。除此之外,回答非常出色。 - Alex Villa

2
没有人提到端口转发。如果例如您正在MAC上使用http://localhost:5000/,则在Windows(使用Parallels)中默认情况下无法使用该端口,在Parallels中需要设置端口转发。请参阅以下说明:
  1. 启动Parallels
  2. 在MAC中ping您的IP地址

ifconfig | grep net

enter image description here

  1. 记住这个IP地址
  2. 然后在Parallels中打开网络设置

看起来是这样的: enter image description here

  1. 添加端口转发规则:

例如,输入端口为5000,目标端口也可以是5000(或者不同,例如8000),IP地址为10.211.55.2。


2
一些额外的信息,因为我总是忘记这个,我认为其他人可能会发现它有用。
主机的默认IP地址(当我使用v8创建并升级到9时)如下。也许它已经改变了,但首先值得尝试“ping”一下看看它是否有效。
10.211.55.22

界面parallels使用的方式在网络设置对话框中是隐藏的。按照以下步骤启用它(截至v9版本仍有效)。感谢Roger Johansson提供这些步骤,我已经记不清了。
  • 确保您正在使用共享网络
  • Parallels Desktop主菜单(而不是虚拟机的菜单)打开首选项
  • 转到高级 => 网络:[更改设置]
  • 单击“在系统偏好设置中显示”

获取IP地址的方法:

  • 打开“网络首选项”面板
  • 现在应该会看到一个名为Para... #0的条目,名称将被截断
  • 单击它,您将看到分配的IP地址。您也可以更改它(我从未尝试过

Parallels Shared Networking Interface Configuration on OS-X


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接