Laravel усадьба работает, но не доступна через HTTP на хост-машине - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь запустить стандартную установку коробки 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

Что может быть причиной этого?

...