2014-07-11 88 views
1

我正在学习如何使用Laravel 4.2,它准备使用Homestead。我以前使用Apache在本地学习Laravel。在使用official docs设置Homestead时,我一直遇到超时。SSH连接到Vagrant Homestead框超时

我正在使用Vagrant 1.6.3,Homestead的最新版本(截至2014年7月10日),PHP 5.5.3(这应该不重要,因为我使用的是流浪我猜想?)和Laravel 4.2。

我用下面的Vagrantfile

VAGRANTFILE_API_VERSION = "2" 

path = "#{File.dirname(__FILE__)}" 

require 'yaml' 
require path + '/scripts/homestead.rb' 

Vagrant.configure("1") do |config| 
    config.vm.boot_mode = :gui 
end 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    Homestead.configure(config, YAML::load(File.read(path + '/Homestead.yaml'))) 
end 

我用下面Homestead.yaml

--- 
ip: "192.168.10.10" 
memory: 2048 
cpus: 1 

authorize: /home/alex/.ssh/id_rsa.pub 

keys: 
    - /home/alex/.ssh/id_rsa 

folders: 
    - map: /home/alex/repos/www 
     to: /home/vagrant/repos/www 

sites: 
    - map: homestead.app 
     to: /home/vagrant/repos/www/learning/public 

/etc/hosts文件包含以下行:

127.0.0.1 learning.app 

当我打电话vagrant up,我收到了这个foll由于输出:

Bringing machine 'default' up with 'virtualbox' provider... 
==> default: Checking if box 'laravel/homestead' is up to date... 
==> default: Clearing any previously set forwarded ports... 
==> default: Clearing any previously set network interfaces... 
==> default: Preparing network interfaces based on configuration... 
    default: Adapter 1: nat 
    default: Adapter 2: hostonly 
==> default: Forwarding ports... 
    default: 80 => 8000 (adapter 1) 
    default: 3306 => 33060 (adapter 1) 
    default: 5432 => 54320 (adapter 1) 
    default: 22 => 2222 (adapter 1) 
==> default: Running 'pre-boot' VM customizations... 
==> default: Booting VM... 
==> default: Waiting for machine to boot. This may take a few minutes... 
    default: SSH address: 127.0.0.1:2222 
    default: SSH username: vagrant 
    default: SSH auth method: private key 
    default: Warning: Connection timeout. Retrying... 
[[17 more failed attempts]] 
    default: Warning: Connection timeout. Retrying... 
Timed out while waiting for the machine to boot. This means that 
Vagrant was unable to communicate with the guest machine within 
the configured ("config.vm.boot_timeout" value) time period. 

If you look above, you should be able to see the error(s) that 
Vagrant had when attempting to connect to the machine. These errors 
are usually good hints as to what may be wrong. 

If you're using a custom box, make sure that networking is properly 
working and you're able to connect to the machine. It is a common 
problem that networking isn't setup properly in these boxes. 
Verify that authentication configurations are also setup properly, 
as well. 

If the box appears to be booting properly, you may want to increase 
the timeout ("config.vm.boot_timeout") value. 

能阿帕奇我以前的设立被干扰?我错过了什么?谢谢。

+0

你有没有尝试过通过vbox gui手动启动盒子,然后通过普通shell连接到它? – Max

+0

这是我第一次使用VirtualBox进行实时操作。我如何从GUI运行Homestead框? 编辑:我打开了VirtualBox的图形用户界面,看到我有几个家园箱,并试图打开一个。它只显示一个黑屏(现在超过五分钟)。 – ordonezalex

+0

[Vagrant卡住连接超时重试]可能重复(http://stackoverflow.com/questions/22575261/vagrant-stuck-connection-timeout-retrying) – kenorb

回答

2

我有同样的问题'超时...',直到我发现在我的计算机的BIOS中禁用了虚拟化兼容性。 来源于此phorum。 http://laravel.io/forum/05-18-2014-trouble-getting-homestead-to-start-in-windows?page=1#reply-9067

修正了它的工作原理。

+0

是的,我的Intel CPU中的虚拟化已被禁用。流浪/家园现在工作很好! – ordonezalex

+0

我发现这个链接之前来检查问题:[家园连接超时](https://laracasts.com/forum/?p=1691-homestead-connection-timeout/0) – ordonezalex

+0

哦!这看起来更完整回答了我建议的问题。 Tahnks。 –

1

打开VirtualBox GUI,你将能够更好地看到是什么导致你的问题。下面是关于如何做到这两个方面的一些指令(你需要做到这一点无论是在Vagrantfile文件或在homestead.rb文件):

enabling gui in Vagrantfile settings

这应该让你看到实际启动屏幕并观看它。

你在Linux主机上运行Vagrant吗?

+0

是的,我使用的是Debian衍生版(Xubuntu 13.04)。 – ordonezalex

+0

我试过这个解决方案。您现在可以在原始帖子中看到我的'Vagrantfile',并且可以通过链接建议的更改。我没有看到任何不同的东西,输出是一样的。 – ordonezalex

+0

有趣。我刚刚添加了这个配置,就像你做的那样,一旦我做了“流浪”的GUI窗口弹出。现在,我不得不暂停“暂缓”这个虚拟机。我也在OSX上运行,而不是在Linux上运行,所以不确定它是否会使它不同。您可以尝试打开VirtualBox Manager应用程序并查看它是否允许您从那里拉出GUI窗口? – noeldiaz