我刚刚使用 VMware Fusion 在 Mac 上创建了一个新的 Windows XP 虚拟机。虚拟机使用 NAT 来共享主机的互联网连接。

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

有帮助吗?

解决方案

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

其他提示

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

http://macname.local:3000/

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

对于未来的访客:计算出 IP 地址后,您可以向位于 C:\Windows\system32\drivers\etc\hosts 的 Windows 主机文件添加一个条目,以将 IP 地址映射到(虚拟)服务器姓名。添加这样一行:

192.168.78.1   myrubyapp

现在您可以在 IE 中访问该网站,地址为 http://myrubyapp:3000

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

由于这个问题已经很老了并且涉及 XP,因此这里有一个新操作系统的替代方案;


如果你摇摆不定 维斯塔 或者 Windows 7的 作为来宾操作系统,并且您通过 Apache 在主机中设置了虚拟主机,设置方法如下:

在Host OS中,需要确保网络连接是通过NAT完成的;

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

然后,在来宾操作系统中;

  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.com 或者 http://example.com 在IE中

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

问题:地址中必须包含http://,否则IE将提示“该网页无法显示”。

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

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

因为

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

请注意,默认 IP 地址 127.0.0.1 无法从网络上的其他计算机访问。要使网络上的其他计算机可以查看您的开发服务器,请使用其自己的 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.) 编辑 Apache 配置(例如 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

    <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 (sudo apachectl restart)

我发现我必须在 VMWare 上切换连接设置才能重新启动连接,然后这些设置才能对我起作用。我希望这有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top