Я пытаюсь запустить стандартную установку коробки Laravel Homestead VM 6.3.0, используя Vagrant 2.1.2 и Virtualbox 5.2.18.Мой хост-компьютер - это MBP, работающий 10.13.6.
Это стандартная установка среды разработки Laravel Homestead.Я могу успешно подготовить, загрузить и запустить окно в течение нескольких минут, где оно выступает в качестве сервера разработки, и я могу без проблем связаться с ним через http в течение нескольких минут.Однако, в конце концов, окно начинает возвращать отсутствие ответа либо через curl
, либо через веб-браузер, либо через агент запросов http, независимо от того, что я делаю, - просто истекает время ожидания.Я по-прежнему могу в любой момент ssh
войти в гостевую систему и проверить, работает ли мое приложение, и nginx работает, но nginx не показывает ошибок или журналов доступа, как будто он даже не получает запросы.Кроме того, я все еще могу получить доступ к своей базе данных на гостевой машине через порт 33060.
Единственный способ возобновить HTTP-доступ - это очистить гостевую систему и начать заново, во время которого цикл повторяется..Ниже прилагается мой Vagrantfile, а также файл Homestead:
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'json'
require 'yaml'
VAGRANTFILE_API_VERSION ||= "2"
confDir = $confDir ||= File.expand_path("vendor/laravel/homestead", File.dirname(__FILE__))
homesteadYamlPath = File.expand_path("Homestead.yaml", File.dirname(__FILE__))
homesteadJsonPath = File.expand_path("Homestead.json", File.dirname(__FILE__))
afterScriptPath = "after.sh"
aliasesPath = "aliases"
require File.expand_path(confDir + '/scripts/homestead.rb')
Vagrant.require_version '>= 1.9.0'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
if File.exist? aliasesPath then
config.vm.provision "file", source: aliasesPath, destination: "/tmp/bash_aliases"
config.vm.provision "shell" do |s|
s.inline = "awk '{ sub(\"\r$\", \"\"); print }' /tmp/bash_aliases > /home/vagrant/.bash_aliases"
end
end
if File.exist? homesteadYamlPath then
settings = YAML::load(File.read(homesteadYamlPath))
elsif File.exist? homesteadJsonPath then
settings = JSON.parse(File.read(homesteadJsonPath))
else
abort "Homestead settings file not found in #{confDir}"
end
Homestead.configure(config, settings)
if File.exist? afterScriptPath then
config.vm.provision "shell", path: afterScriptPath, privileged: false, keep_color: true
end
if defined? VagrantPlugins::HostsUpdater
config.hostsupdater.aliases = settings['sites'].map { |site| site['map'] }
end
end
Homestead.yaml
ip: "192.168.2.10"
memory: 4096
cpus: 1
name: app
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
-
map: ~/Documents/repos/app
to: /home/app/code
sites:
-
map: myapp.app
to: /home/vagrant/code/laravel/public
databases:
- myapp
Что может быть причиной этого?