如何从访客机器访问主机?

我刚刚使用VMware Fusion在我的Mac上创build了一个新的Windows XP虚拟机。 VM正在使用NAT来共享主机的Internet连接。

如何访问Rails应用程序,可以使用http://localhost:3000访问Mac本身的应用程序?

在XP机器上,find你的IP地址,进入命令提示符并input“ipconfig”。 尝试用1或2replace最后一个数字。例如,如果您的IP地址是192.168.78.128,请使用http://192.168.78.1:3000

您可以使用主机的Mac(或networking上的任何其他Mac)“本地”名称:

HTTP://macname.local:3000 /

其中macname是您的主机(或其他所需的)Mac的networking名称。

对于未来的访问者:一旦你已经知道了IP地址,你可以添加一个条目到位于C:\ Windows \ system32 \ drivers \ etc \ hosts的Windows主机文件,以将IP地址映射到(虚拟)服务器名称。 像这样添加一行:

 192.168.78.1 myrubyapp 

现在你可以在地址为http:// myrubyapp:3000的 IE中访问该站点

如果你在Apache下使用虚拟主机,你需要提供正确的服务器名称。

由于这个问题是相当古老的,并提到XP,这是一个新的操作系统的替代品;


如果您将VistaWindows 7作为来宾操作系统,并且通过Apache在Host中设置了虚拟主机,请按照以下步骤进行设置:

在主机操作系统中,您需要确保通过NAT完成networking连接。

  1. 右键单击虚拟机窗口中的networking图标(右下angular)
  2. select“NAT”
  3. select“连接”
  4. 等待来宾操作系统重新连接到networking

然后,在Guest OS中;

  1. 点击开始>networking>networking和共享中心
  2. 点击networking连接旁边的“查看状态”
  3. 点击“详情”
  4. find“IPv4默认网关”
  5. 打开写字板
  6. 编辑C:\ Windows \ System32 \ drivers \ etc \ hosts
  7. 在文件中添加一行,例如:

     [default-gateway-IP] www.example.com [default-gateway-IP] example.com 
  8. 保存

  9. 尝试在IE中打开http://www.example.comhttp://example.com

  1. 在XP机器上,开始 – >连接到 – >显示所有连接。
  2. 双击本地连接。
  3. 点击支持选项卡。
  4. 采取默认网关IP <gateway-ip >,并在您的浏览器中打http:// <gateway-ip >:3000。

问题:你必须在地址中inputhttp://或者IE会给你“网页无法显示”。

对于Django,执行以下操作非常重要:

./manage.py runserver [default-gateway-IP]:8000

因为

https://docs.djangoproject.com/en/dev/ref/django-admin/

请注意,您的networking上的其他计算机无法访问默认IP地址127.0.0.1。 要使开发服务器可以在networking上的其他计算机上查看,请使用自己的IP地址(例如192.168.2.1)或0.0.0.0或::(启用IPv6)。

我花了一个小时试图让这个工作按照SO的步骤进行,但是我的结果有点不一样。

VMWare设置

1.)将VMWare连接设置为NAT
2.)运行> cmd> ipconfig>复制默认网关值
3.)编辑hosts文件(c:/ Windows / System32 / drivers / etc / hosts)

  • 添加到您的主机文件:

<gateway-ip> yourserver.local

OS X设置

1.)编辑Apacheconfiguration(例如,sudo vim /etc/apache2/httpd.conf)

  • 将此虚拟主机条目添加到您的httpd.conf文件中:
 NameVirtualHost 127.0.0.1
 <VirtualHost 127.0.0.1>
     DocumentRoot“/ path / to / your / project”
     ServerName yourserver.local

     <目录“/ path / to / your / project”>
         AllowOverride全部
        选项全部
     </目录>
 </虚拟主机>
  • 保存并退出(:wq)

2.)编辑你的hosts文件(sudo vim / etc / hosts)

  • 将此行添加到您的主机文件

127.0.0.1 yourserver.local

3.)重启Apache(sudo apachectl restart)

我发现我必须在VMWare上切换连接设置,才能在这些设置为我工作之前重新启动连接。 我希望这有帮助。