2008-09-14 96 views
114

我刚刚使用VMware Fusion在我的Mac上创建了一个新的Windows XP虚拟机。 VM正在使用NAT来共享主机的Internet连接。如何从访客机器访问主机?

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

+1

也许这个问题应该迁移到[超级用户](http://superuser.com/)或[服务器故障](http://serverfault.com/)。 – jfmercer 2015-04-28 17:06:56

回答

118

在XP机器上,通过转到命令提示符并键入“ipconfig”来查找您的IP地址。尝试用1或2替换最后一个数字。例如,如果您的IP地址是192.168.78.128,请使用http://192.168.78.1:3000

+2

为我节省了几个小时 - 在背上先生自己! – iancrowther 2011-11-12 22:23:36

+0

我使用Lion作为Host和Win7作为Guest,但是我无法使用它访问我的Mac上的rails应用程序。为什么? – larryzhao 2011-12-30 08:10:21

+0

如果您的本地网络IP地址是:192.168.1.122那么您应该使用http://192.168.1.122:3000,这应该工作 – dbslone 2012-07-18 16:05:09

76

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

http://macname.local:3000/

其中macname的是你的主机(或其他所需的)的Mac的网络名称。

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

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

13

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

192.168.78.1 myrubyapp 

现在你可以在地址http://myrubyapp:3000

访问,在IE的网站,如果你使用Apache下,你需要这个提供正确的服务器名称的虚拟主机。

10

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


如果你摇摆Vista的的Windows 7作为Guest OS,你必须在通过Apache主机虚拟主机设置,这里是如何设置:

在主机OS ,您需要确保通过NAT完成网络连接;

  1. 右键点击虚拟机窗口中的网络图标(右下角)
  2. 选择“NAT”
  3. 选择“连接”
  4. 等待客户机操作系统重新连接到网络

然后,在Guest OS中;

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

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

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

5

我只花了一个小时的努力得到这个工作,下面的步骤,以便但我的结束有点不同。

VMWare的设置

1)设置VMWare的连接NAT
2)运行> CMD> IPCONFIG>复制默认网关值
3)编辑hosts文件(C:/ Windows的/ SYSTEM32 /司机/ etc/hosts文件)

  • 添加到您的主机文件:

<gateway-ip> yourserver.local

OS X设置

1)编辑Apache的配置(例如,须藤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 

    <Directory "/path/to/your/project"> 
     AllowOverride All 
     Options All 
    </Directory> 
</VirtualHost> 
  • 保存&退出(:WQ)

2)编辑您的主机文件(sudo vim/etc/hosts)

  • 加入这一行到您的主机文件

127.0.0.1 yourserver.local

3)重启Apache(须藤的apachectl重新启动)

我发现,我不得不切换连接设置在VMWare以重新启动这些设置为我工作之前的连接。我希望这有帮助。

./manage.py的runserver [默认网关IP]:8000

因为

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

注意,默认

6

Django的做到以下几点是很重要的IP地址127.0.0.1不能从网络上的其他计算机访问。要使开发服务器可以在网络上的其他计算机上查看,请使用其自己的IP地址(例如192.168.2.1)或0.0.0.0或::(启用IPv6)。