【问题标题】:Cannot access site from host machine on a vagrant virtual machine无法从 vagrant 虚拟机上的主机访问站点
【发布时间】:2015-08-05 13:50:11
【问题描述】:

我设置了一个 nginx+mysql puphpet/vagrant 映像,带有一个虚拟主机“test.com”。我在主机上将test.com 映射到192.168.56.101,并在/var/www/test 中放置了一个index.php 文件。

但是,当我尝试在主机上的地址 test.com 上打开浏览器时,我没有得到任何响应。我觉得我错过了一些非常简单的东西,因为我可以 ping 192.168.56.101。我还检查了虚拟机上的 nginx 日志,但它们是空的。问题可能出在哪里的任何线索?我不应该这样使用它吗?我可以 ssh 进入 vagrant 就好了,也可以访问 mysql 数据库。

【问题讨论】:

  • 您是否配置了 Vagrantfile 以将必要的端口转发到您的主机?
  • 我忘记指定我使用的是 puphpet,它不会自动处理吗?

标签: php nginx vagrant


【解决方案1】:

在您的 Vagrantfile 中,您需要将端口转发到您的主机。

例如将 Vagrant 机器的 80 端口映射到主机的 8080 端口。

config.vm.network "forwarded_port", guest: 80, host: 8080

【讨论】:

  • 这行得通,但是我发现 puphpet 文档在这方面缺乏。还有其他记录在案的替代方案吗?
  • 好吧,有一个官方的Vagrantfile documentation 可用,但恕我直言,它不是很好。反正这个tutorial还不错。
  • 我的问题是,我希望在编辑完 hosts 文件后能看到该网站。但似乎 puphpet 在 nat 后面,所以我也需要向前移植。但这应该用大写字母写在首页或至少在 puphpet 常见问题页面上。附带说明一下,每个关于 puphpet 的教程(不是 vagrant,具体来说是 puphet)都没有提到这一点,所以我仍然觉得我遗漏了一些东西(其他人怎么可能在他们的教程中省略了这段话?)。
  • 端口转发是 Vargant 特有的。不是每个人都将 puphpet 与 vagrant 一起使用。这也是为什么 puphpet 觉得没必要提的原因。
  • 我刚刚发现了问题。即使端口转发技巧确实有效,也没有必要(正如我在各种教程中看到的那样)。问题与我在同一网络上配置了两台流浪机器有关。不能确定到底发生了什么,但是在 virtualbox 上清除虚拟机和仅主机网络让我可以从浏览器访问 vagrant box,而无需端口转发。感谢您的帮助。
猜你喜欢
  • 2016-07-03
  • 1970-01-01
  • 1970-01-01
  • 2020-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
相关资源
最近更新 更多